STM32F407二维码识别(使用内部RAM+无FIFO摄像头OV7670
要点:
1.摄像头配置,无FIFO的摄像头需要注意时钟配置和窗口配置,否则不能出图像
2.DCMI配置:DCMI需要配置成DMA传输模式和使用行场中断进行图像数据采集(使用帧中断也行,但是需要保证数据不会出错,数据buffer的地址不能搞错),同时需要注意DCMI硬件同步的行场信号以及像素信号的上升沿和有效电平
3.RAM配置:由于F407内部包含128KB的SRAM和64KB的高速RAM(CCM),用来采集图像的buffer设置为内部SRAM,用于识别buffer设置为CCM,才能边采集边识别,否则无法正常识别,原因是二维码识别过程需要耗费大量的内存和计算力,必须单独给他一个RAM去跑,而SRAMIN的时钟是由主频(168MH分频得来的,一般是168/2),片上只有SRAMCCM是按系统主频168MH在跑(比SDRAM快,大约2-3倍),因此可以用高速RAM去执行识别,同理进行其他图像识别也能使用相同的方式
4.图像数组大小设定:理论上计算使用内部高速CCM可以识别240x240的图像,但是由于CPU还要执行其他关键程序,240x240可能无法实现。其次,原始图像数组最好采集YUV数据,然后在原始数据中提取Y数据作为二维码识别的输入,这样总体耗费的内存为(SRAMIN(img_wimg_h2)+SRAMCCM(img_w*img_h)),刚好也可以满足F407内部RAM的分配方式。
5.图像采集问题:在之前的尝试中采用F407的DCMI+DMA双buffer去采集图像数据,可以成功采集QVGA格式下开窗为120x160的图像,但是更大的图像就采集不到了,分析其原因是F4的内部SRAM无法及时拷贝buffer中的数据,(我采用的是15帧/s的时钟配置),那么采用这种方式无法完成更大数据格式的采集,之后采用DCMI行场中断的方式可以成功采集QCIF的图像并进行二维码识别,针对数字或者字母识别效率大约10次/S,基本上可以满足需求,越是信息量大的二维码识别越慢

STM32F407二维码识别(使用内部RAM+无FIFO摄像头OV7670相关推荐

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

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

  2. 第47章 QR-Decoder-OV5640二维码识别—零死角玩转STM32-F429系列

    第47章     QR-Decoder-OV5640二维码识别 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.y ...

  3. 第47章 QR-Decoder-OV5640二维码识别—零死角玩转STM32-F429系列

    第47章     QR-Decoder-OV5640二维码识别 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.y ...

  4. 二维码识别模块在物流仓储、通道闸机的嵌入式应用

    随着物联网自动识别技术的广泛应用,采用二维码识别模块的设备,在零售.交通.物流.工业等各个行业上都有它的身影.那么他们都在哪些场景应用到?给我们的工作生活带来哪些便利呢?下面远景达(RAKINDA)通 ...

  5. 基于ZBar,OpenCV和Python的二维码识别

    0 前言 今天分享一个之前做过的二维码识别,参考:https://www.pyimagesearch.com/2018/05/21/an-opencv-barcode-and-qr-code-scan ...

  6. 基于海康visionMaster上层钢板二维码识别and钢板长度测量并中心坐标输出;不同.sol程序文件间内容的拷贝

    --即将之前的两个功能((1)上层钢板二维码识别 和 (2)上层钢板长度测量并输出长度中心坐标)结合到一起. 关键词:海康visionMaster,不同.sol程序文件间内容的拷贝,流程导入,流程导出 ...

  7. 机器视觉运动控制一体机应用例程|电子烟二维码识别

    方案背景 随着社会生活水平的不断提高,电子烟已普遍成为一种大众消费电子产品. 传统电子烟的烟弹在完成烟油加注完后,仍需依赖于人工使用扫码枪或者半自动设备,在生产的环节中进行至关重要的二维码识别. 这种 ...

  8. halcon例程学习 一维码、二维码识别

    1.一维条码 一维条码:由一组规则排列的条.空以及对应的字符组成的标记,"条"指对光线反射率较低的部分,"空"指对光线反射率较高的部分,这些条和空组成的数据表达 ...

  9. OpenCV(项目)二维码识别(二维码、条形码)

    目录 过程 1.获取图片中的二维码信息 2.获取视频中的二维码信息 3.检测出二维码框 4.显示数据 5.添加数据,判断二维码是否授权 5-1:.添加数据 5-2.读取文件信息,放入数组 5-3.判断 ...

  10. android 图片二维码识别和保存(二)

    续上一篇,开发图片二维码识别功能后,我们对功能进行性能分析内存占用显著提高了,不使用该功能内存占用大约是147M,使用这个功能多次以后,高达203M. 因此对功能进行研究,发现每次生成的图片没有即时的 ...

最新文章

  1. GPT-3 的到来,程序员会被 AI 取代吗?
  2. dos2unix install on mac_mac2019新品唇釉来啦!MAC有色唇油试色
  3. linux之find命令详解
  4. centeros7安装docker
  5. bugly怎么读_高级功能
  6. less的一些用法整理
  7. LeetCode 1093. 大样本统计
  8. docker 容器数据卷
  9. normalize()方法
  10. 16软件1班安卓第一学期学习总结
  11. retext代码高亮_实例简介Markdown格式
  12. python机器学习案例系列教程——GBDT算法、XGBOOST算法
  13. LCD1602芯片的使用——简单易懂
  14. cmake 交叉编译工具链
  15. nas文件服务器权限安全,大势至局域网共享文件监控NAS文件权限设置的方法
  16. 第四讲 移动互联网接入技术
  17. chrome 插件开发指南
  18. css 使图片变清晰
  19. 告别动态规划,连刷40道动规算法题,我总结了动规的套路
  20. c /c++语法之extern关键字

热门文章

  1. UE官网ARPG游戏学习笔记1
  2. 为何会频繁收到垃圾短信?使用这3种方法,跟垃圾短信说再见
  3. 性能和稳定性测试报告模板
  4. vivado布线congestion拥塞
  5. 【C++】实现一个日期计算器
  6. 计算机桌面调音量的图标不见了,声音图标不见了,音量图标不见了怎么办?
  7. AlarmClock
  8. k8s Container资源控制: requests和limits
  9. nova青春版支持鸿蒙吗,华为nova青春版评测:高颜值年轻人必备
  10. 可穿戴设备的发展前景