logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

opencv:如何提取图片中的数字(实操,附代码)

本文介绍基于模板匹配的银行卡数字识别方法,详细介绍了图像处理各环节的实现代码,包括轮廓排序、模板匹配得分计算等关键步骤,最终成功实现了银行卡数字的自动识别功能。

文章图片
#opencv#人工智能#计算机视觉 +2
opencv:图像模板匹配(附代码)

本文讲述了opencv中模板匹配的使用方法,以及6种模板匹配的计算方式,并通过代码演示了模板匹配的实际效果。

文章图片
#opencv#计算机视觉#图像处理 +1
RISC-V架构:gp寄存器与链接器松弛

本文深入探讨了RISC-V架构中的gp(全局指针)寄存器及其优化机制。gp寄存器作为ABI约定的特殊寄存器,通过指向内存中小数据区域(.sdata段)中间位置,配合链接器松弛技术,可将全局变量访问优化为单条指令,显著提升代码密度和执行效率。文章详细解析了gp的工作原理、初始化流程(必须在启动代码中手动设置),并提供了完整的工程实践方案:通过__attribute__指定变量到.sdata段、在链接

文章图片
#risc-v#单片机#嵌入式 +1
【AES加密】AES加密算法实现(附代码):2 AES工具函数的书写(上)

本文摘要了AES加密算法的核心实现细节。首先介绍了跨平台兼容性处理,通过条件编译实现在8051单片机和普通C环境下的代码适配。其次详细解析了AES的关键组件:密钥长度转换(Nk)、数据块大小(Nb)、加密轮数(Nr)的定义,以及有限域运算中BPOLY(0x1B)作为不可约多项式的重要性。重点阐述了S-box的构造原理(有限域逆元和仿射变换)及其安全作用,并提供了生成S-box的完整代码实现。最后讲

#单片机#密码学#嵌入式 +1
【AES加密】AES加密算法实现(附代码):4 AES全局函数

本文介绍了AES加密算法的实现,主要包括密钥扩展、加解密函数和测试流程。密钥扩展通过原始密钥生成轮密钥表,支持128/192/256位密钥长度。加解密函数支持ECB和CBC模式,其中CBC模式通过初始化向量(IV)增强安全性,并采用逆序解密优化。测试函数验证了完整加密解密流程,使用128位密钥和CBC模式,成功还原原始明文。实现中考虑了原地操作、块处理优化和安全性问题,提供了完整的示例代码和十六进

#算法#密码学#嵌入式 +1
【AES加密】AES加密算法实现(附代码):1 AES头文件的书写

本文解析AES加密实现的关键要素:首先定义了密钥长度枚举类型(128/192/256位),提升代码可读性和安全性;其次介绍了ECB和CBC两种加密模式,重点说明CBC通过初始化向量和块链接机制增强安全性;最后详述了核心函数声明,包括密钥初始化、数据加密解密接口,强调数据长度必须符合分组大小整倍数的要求,并解释其技术原理。全文从实现角度系统阐述了AES加密的关键技术要点。

#嵌入式#密码学#算法 +1
【数据结构】归并排序:高效分治的奥秘

归并排序是一种基于分治法的排序算法,擅长处理外排序问题。其核心思想是将序列递归分解为有序子序列,再通过合并操作得到完全有序的结果。算法实现包括递归和非递归版本,都需要O(N)的临时空间用于合并操作。归并排序的时间复杂度为O(N*logN),空间复杂度为O(N),具有稳定性。在处理大文件排序时,可先将文件分割成内存可容纳的小块,分别排序后再逐步归并,最终完成整个文件的排序。这种特性使归并排序成为处理

文章图片
#排序算法#算法#数据结构
【C++】list 容器操作

文章摘要:本文介绍了C++中list容器的特性与应用。list作为vector的补充,解决了vector在头部/中部插入删除效率低(O(N))和扩容代价大的问题,具有O(1)时间复杂度的插入删除优势,但牺牲了随机访问能力。文章详细讲解了list的四种迭代器(正向/反向/const/双向)、常用操作(头尾插删、任意位置操作)、排序方法(不推荐使用),以及迭代器失效问题和解决方案。最后通过对比vect

文章图片
#c++#开发语言#list
【C++11】auto关键字:自动类型推导

C++11中auto关键字被用于自动推导变量类型,简化复杂类型的声明。auto会根据初始化表达式自动匹配类型,但必须进行初始化。使用细则包括:结合指针和引用时auto*和auto无区别,引用需加&;同一行多个变量类型必须一致。auto不能用于函数参数、数组声明,且C++11仅保留其类型推导功能。auto常用于简化迭代器声明,配合新式for循环和lambda表达式使用,提升代码可读性。

文章图片
#c++#开发语言
好用的开源日志库:Easylogger解析与移植STM32

Easylogger是一款轻量级嵌入式日志库,其核心配置位于elog_cfg.h文件中。主要配置包括:日志输出总开关(ELOG_OUTPUT_ENABLE)、静态日志级别(ELOG_OUTPUT_LVL)、断言检查(ELOG_ASSERT_ENABLE)、缓冲区大小(ELOG_LINE_BUF_SIZE)等。高级配置支持彩色输出、异步/缓冲模式、日志格式定制等功能。移植时需配置串口输出,重定义输出

#嵌入式
    共 51 条
  • 1
  • 2
  • 3
  • 6
  • 请选择