二维码识别 基于stm32 ov7725

二维码识别技术在我们的生活中应用的很方便了,但基本都是基于手机的,目前在公交车上也存在了扫描二维码的机器,上次坏了之后,发现一只小企鹅,原来是基于linux的,这里介绍一下基于stm32f767和ov7725以及zbar的二维码识别技术,其实相关的代码正点原子也给出了,但是核心的识别库是以.lib文件的形式给出的,没有源码
这里将从以下几个方面介绍:

基于F767的OV7725
zbar算法的介绍
zbar算法的移植
stm32的HAL库介绍
总结

基于F767的OV7725

基本上所有的OV系列的摄像头都差不多,本质上就是工厂ID,和输入的寄存器的值不同,因为正点原子官方提供了正规的OV2640的代码,我们只需要稍作修改就可以了,当然,在实际过程中涉及到利用DCMI接口进行帧的获取,这个地方与0V2640也有所不一样,需要根据数据手册来完成,具体的看我下面提供的代码

zbar算法的介绍

zbar算法的介绍,在网络上有一篇很好的文章
这里贴上链接:http://blog.csdn.net/u013738531/article/details/54574262

zbar算法的移植

zbar算法是由日本发明的,用C语言完成,因此可以很好的移植进STM32,当然解码二维码还有zxing算法,但是这个好像是用java完成的,因此不好移植,所以在单片机上,大家还是主要用zbar
关于zbar的移植需要注意一下几个点:
(1):因为是基于C库的代码,中间会有很多的printf等函数,但我们使用的是自己定义的printf函数,因此关于此类函数,都需要注意
(2):关于free,malloc等内存管理的,正点原子自己提供了相关的内存管理函数,因此,我们需要对应的替换掉
(3):我再淘宝上面买了一个基于stm32的zbar算法,发现跟网上的差不多,自己修改一下就可以使用了,自己根据这个可以看一下怎么移植,以后关于一些工具的移植都可以参考这种移植方法,下面我提供一下zbar的算法

stm32的HAL库介绍

现在大家做stm32的开发,基本上都是基于库函数,因为库函数帮助我们完成了很多任务,提供了很多API,我们只需学习如何使用这些api即可,最新的hal库同样提供了很多API,我们的这个工程最重要的两个地方涉及;(1)sram的使用
最新的sram的api与标准库大致相同,主要是熟悉每个sram接口的作用,其可以支持sram,sdram等,需要我们去稍作修改即可
(2)dcmi的使用
dcmi主要拿来产生帧中断,并配合DMA进行图像数据的传输,明白怎样设定这些结构体

总结

很多东西都忘记了,下面贴上我的代码,自己在代码中去看具体的操作,结合正点原子官方提供的代码,去做一些对比,希望可以从中获取你想要的

连接:http://download.csdn.net/download/lixiaojie123123/10238405

二维码识别 基于stm32 ov7725相关推荐

  1. openmv和stm32串口通信完成二维码识别

    openmv和stm32串口通信完成二维码识别 文章目录 前言 一.所用的硬件: 二.openmv端 2.stm32端 总结 前言 注:我只是个大一的小白,本文只完成基本功能,希望能帮助有困惑的人(我 ...

  2. 基于机器视觉的Data Matrix二维码识别

    基于机器视觉的Data Matrix二维码识别 二维码识别,这个在视觉应用中占有很重要的比例,各种各样的二维码都有可能需要识别.常见的QR码.Data Matrix码.本方案是识别Data Matri ...

  3. Python基于pyzbar、opencv、pyqt5库,实现二维码识别 gui 应用程序开发

    二维码组成结构基本介绍 二维码识别背景介绍 视觉的方法可以用来估计位置和姿态.最容易想到的是在目标上布置多个容易识别的特征,这样使用opencv相机标定和.相机畸变矫正.轮廓提取.solvepnp来获 ...

  4. 基于多二维码识别的无人机运动真值获取

    基于多二维码识别的三维运动真值获取 1.背景介绍 2.原理 2.1 二维码基础 2.2图像预处理 2.3 定位标轮廓提取 2.4 多二维码鲁棒识别 3 运行结果 3.1对单张图片进行多二维码识别 3. ...

  5. 【第 07 章 基于主成分分析的人脸二维码识别MATLAB深度学习实战案例】

    基于主成分分析的人脸二维码识别MATLAB深度学习实战案例 人脸库 全套文件资料目录下载链接–>传送门 本文全文源码下载[链接–>传送门] 如下分析: 主文件 function varar ...

  6. 基于Android的二维码识别系统的研究与实现(eclipse开发)

    目 录 1 Android系统开发背景与意义 1 1.1 Android系统平台的出现 1 1.2 Android系统的发展 1 1.3 Android系统架构的介绍 1 1.4 Android开放系 ...

  7. 基于主要成分分析的人脸二维码识别系统-含Matlab代码

    目录 一.引言 二.人脸图像信息处理 2.1 主成分分析PCA 2.2 PCA人脸压缩与重构算法分析 三.二维码转换以及识别 3.1 QR码 3.2 将人脸图像生成二维码 3.3 二维码的识别与图像还 ...

  8. 基于MATLAB的条码二维码识别系统

    基于MATLAB的条码二维码识别系统 课题介绍 本设计研究的是基于数字图像处理的EAN-13条形码识别算法,通过工具平台MATLAB实现.其中图像处理部分是条码识别重要的前期工作,利用MATLAB强大 ...

  9. 基于STC89C52RC芯片设计的一款酒店服务机器人(包含货物检测、二维码识别功能)

    目录 一:硬件设备 1:主控 2:扫码模块 3:货物检测 4:循迹模块 5:电机驱动模块 6:电源 二:软件代码 三:循迹环PID 四:成品视频 一:硬件设备 1:主控 所选取主控芯片为STC89C5 ...

最新文章

  1. AD rodc扩展报错
  2. mysql repalication_mysql replication(主从复制)(一)MS模式
  3. ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
  4. 【深度学习笔记】Precision、Recall
  5. 如何更新android v7 support library,新手入门之Android Support Library | Soo Smart!
  6. window下不用安装虚拟机,也可以玩转linux,玩转最新redis
  7. Freemarker获取pojo属性
  8. qtablewidget设置选中一行_Word里面如何设置标题的大纲级别
  9. localdatetime转化为date_为啥你用@JsonFormat注解时,LocalDateTime会反序列化失败?
  10. unicode 字符集环境下的mfc 读写 ini 配置文件的_WSL:在Windows下优雅地玩Linux
  11. POJ 3660 Cow Contest
  12. installshield 脚本 在卸载过程执行_Linux下运行Jmeter脚本
  13. win10设置禁止系统更新
  14. 2.9_double_link_list_双链表
  15. Go 语言之 defer 的前世今生
  16. tdd测试_变异测试是TDD的发展
  17. barrier()函数
  18. 项目经理的选人和用人-三合与情境领导
  19. 某型雷达的报文收发实录
  20. 耶鲁大学 博弈论(Game Theory) 笔记2-学会换位思考

热门文章

  1. 贝索斯 每年 信_杰夫·贝索斯(Jeff Bezos)的《非常寒冷的星期六晚上》例行节目
  2. React + nodemailer + koa-jwt 实现登录注册邮箱验证
  3. LeetCode:Database 76.学生们参加各科测试的次数
  4. CSDN新星计划新玩法、年度勋章挑战赛开启
  5. 安卓手机使用ssh登陆服务器软件应用app推荐
  6. 2022最新天龙八部环境-GS环境离线版-Linux Docker TLBB+视频教程
  7. MOUSE WITHOUT BORDERS连接失败原因猜测
  8. trim() 是什么意思?
  9. 流式布局清空历史搜索
  10. Intellij Debugger slow: Method breakpoints may dramatically slow down debugging