单片机交流
登录
直播中
凌流浪
8年用户
1051经验值
擅长:可编程逻辑 电源/新能源
私信
关注
[问答]
怎样使用51单片机连一个摄像头去完成二维码识别呢
开启该帖子的消息推送
51单片机
摄像头
在51
单片机
开发板
上面怎么去编程?
怎样使用51单片机连一个摄像头去完成二维码识别呢?
回帖
(1)
张红梅
2021-9-6 17:49:03
现在在做一个硬件项目,主要是用“高端的”51单片机连一个摄像头完成二维码识别的问题。
一、解决方案:
现在的需求是:给出二维码(可能存在图像偏移、旋转等问题),输出一个解码的字符串
解决方案目前是这样设计的:
这里有几个点:
1. 选什么摄像头
2. 摄像头怎么连开发板
3. 开发版上面怎么编程?怎么获取io信息
4. 怎么输出
当然,本项目最关键的还是其中的识别过程。
一、选什么摄像头
基本上所有的OV系列的摄像头都差不多,选择了一款比较常规的ov7670摄像头
二、摄像头怎么连接开发板
这个目前打算用杜邦线解决
三、开发版上面怎么编程?怎么获取io信息
这也是本项目的难点,因为一直是做深度学习算法,对于硬件开发根本不会。本节也记录学习历程。
首先,了解一下51单片机的原理:
51单片机是由存储器、控制器、io组成的微型计算机。
所有的引脚可以分为电源、时钟、控制、IO这几种,51单片机属于8位单片机。
单片机基础补充:
(1)电平特性:高电平(5V)低电平(0V)
(2)进制
(3)逻辑运算:0 1
与或非、异或
串口与并口:串口就是速度快的一种直线型传输,并口是指8根通道齐发由于数据间会存在干扰,所以速度会慢。
(4)编程语言
基本上使用C与汇编
上拉电阻?
就是一种用来控制空电极的东西?这个还没弄懂
晶振
通过晶体振动提供频率信号
二、详细分析:
第一个问题就是资源占用问题,图像从摄像头弄到板子上需要的是数据空间,对图像数据进行处理,也需要计算空间,那么这些东西究竟需要多少资源呢?
除了以上的问题,还有问题就在于,哪些是在rom上进行,哪些是在ram上进行。
我们先弄清楚哪些在rom上进行,哪些是ram上进行的。
ram(数据存储器)、rom(程序存储器)--------------------确定
那么我们的程序放在rom里。
(插一句,我们的rom和ram分别有多大呢?
说明文档说了T5L芯片是片内64KB的RAM,ROM是32KB)
好,现在能确定的是代码的编码需要存在ROM里面,运算可以在MDU(数学运算单元)中进行。那么现在问题就在于每一帧的图片以及如何选取计算的量应该就是在RAM中进行了。无疑问题就在于我们的图片输出多大。接下来就是ov7060摄像头的研究分析了。
ov7060摄像头
YUV4:2:2
这个是个啥?就是输出的码流,她每一次都会输出Y,每隔一次输出UV,对于一个这样的[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3],输出是这样的Y0 U0 Y1 V1 Y2 U2 Y3 V3
但是我们需要知道他输出的分辨率,图像的大小,与这个无关,继续看。
他反复提到一个感光阵列(640X480)这个长得很像像素,那么感光阵列是个啥?了解完毕,就是像素。
那么我们又能更新一条有用信息:摄像头的输出是30万像素的。
那么对于空间资源的最后一个问题就是,需要多少RAM来处理这30万像素?
如图所示,图片是进到这个数据寄存器里面,就是那额256KB。
现在在做一个硬件项目,主要是用“高端的”51单片机连一个摄像头完成二维码识别的问题。
一、解决方案:
现在的需求是:给出二维码(可能存在图像偏移、旋转等问题),输出一个解码的字符串
解决方案目前是这样设计的:
这里有几个点:
1. 选什么摄像头
2. 摄像头怎么连开发板
3. 开发版上面怎么编程?怎么获取io信息
4. 怎么输出
当然,本项目最关键的还是其中的识别过程。
一、选什么摄像头
基本上所有的OV系列的摄像头都差不多,选择了一款比较常规的ov7670摄像头
二、摄像头怎么连接开发板
这个目前打算用杜邦线解决
三、开发版上面怎么编程?怎么获取io信息
这也是本项目的难点,因为一直是做深度学习算法,对于硬件开发根本不会。本节也记录学习历程。
首先,了解一下51单片机的原理:
51单片机是由存储器、控制器、io组成的微型计算机。
所有的引脚可以分为电源、时钟、控制、IO这几种,51单片机属于8位单片机。
单片机基础补充:
(1)电平特性:高电平(5V)低电平(0V)
(2)进制
(3)逻辑运算:0 1
与或非、异或
串口与并口:串口就是速度快的一种直线型传输,并口是指8根通道齐发由于数据间会存在干扰,所以速度会慢。
(4)编程语言
基本上使用C与汇编
上拉电阻?
就是一种用来控制空电极的东西?这个还没弄懂
晶振
通过晶体振动提供频率信号
二、详细分析:
第一个问题就是资源占用问题,图像从摄像头弄到板子上需要的是数据空间,对图像数据进行处理,也需要计算空间,那么这些东西究竟需要多少资源呢?
除了以上的问题,还有问题就在于,哪些是在rom上进行,哪些是在ram上进行。
我们先弄清楚哪些在rom上进行,哪些是ram上进行的。
ram(数据存储器)、rom(程序存储器)--------------------确定
那么我们的程序放在rom里。
(插一句,我们的rom和ram分别有多大呢?
说明文档说了T5L芯片是片内64KB的RAM,ROM是32KB)
好,现在能确定的是代码的编码需要存在ROM里面,运算可以在MDU(数学运算单元)中进行。那么现在问题就在于每一帧的图片以及如何选取计算的量应该就是在RAM中进行了。无疑问题就在于我们的图片输出多大。接下来就是ov7060摄像头的研究分析了。
ov7060摄像头
YUV4:2:2
这个是个啥?就是输出的码流,她每一次都会输出Y,每隔一次输出UV,对于一个这样的[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3],输出是这样的Y0 U0 Y1 V1 Y2 U2 Y3 V3
但是我们需要知道他输出的分辨率,图像的大小,与这个无关,继续看。
他反复提到一个感光阵列(640X480)这个长得很像像素,那么感光阵列是个啥?了解完毕,就是像素。
那么我们又能更新一条有用信息:摄像头的输出是30万像素的。
那么对于空间资源的最后一个问题就是,需要多少RAM来处理这30万像素?
如图所示,图片是进到这个数据寄存器里面,就是那额256KB。
举报
更多回帖
rotate(-90deg);
回复
相关问答
51单片机
摄像头
二维码
识别
2015-08-27
25169
使用Arduino可以连接
摄像头
做
二维码
识别
吗?
2023-11-10
1754
如何利用STM32
单片机
去
生产
一
种
二维码
呢
2021-12-15
2681
请问ov7670
摄像头
能扫描
二维码
码
?
2019-04-17
3934
STM32
摄像头
模块扫描
二维码
2018-04-29
8530
二维码
的算法?
2014-03-30
7575
单片机
生成
二维码
技术
2017-06-14
9875
data dashboard for labview 可以通过调用手机的
摄像头
扫描
二维码
吗?
2017-04-12
6907
labview
识别
二维码
问题
2018-11-13
4973
树莓派USB
摄像头
BUG求解决(libv412 error)
2017-04-30
7988
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分