历史上的今天
今天是:2025年07月05日(星期六)
2018年07月05日 | 普通的CSI摄像头如何快速识别二维码?
2018-07-05 来源:电子产品世界
当二维码识别不再依赖专用摄像头模组,即使是常见的数字摄像头、模拟摄像头、USB摄像头都可以轻松快速识别二维码时,再提供免费使用的二维码识别算法,是否能给您的方案带来了便捷。
一、居高不下的成本
随着无现支付逐步深入我们的日常生活,我们平时出门可以没有现金但却离不开手机,这便是二维码为我们带来的便捷,本文将重点介绍如何将二维码识别植入产品设计。
目前大家所熟知的二维码识别需要配变专用的摄像头,成本一直居高不下,若通用的CSI摄像头就能完成二维码的识别与运算,那么无论是设计成本还是BOM成本都将带来可观的改善。但二维码专用摄像头的成本又居高不下,如何降低成本?是很多人关注的问题,本文将通过CSI摄像头为示例,浅析如何通过普通摄像头识别二维码信息。
二、二维码开发环境
搭建维码组件主要由主控——M1052核心板、采集摄像头——OV725摄像头、人机交互界面——4.3寸彩色液晶屏。
M1052核心板

图 1 M1052 核心板
M1052跨界核心板作为二维码扫描设备的主控方案,搭载NXP i.MX RT105x处理器,主频高达528MHz,此核心板支持CSI(CMOS Sensor Interface)接口,可以分析COMS摄像头的传输来的数据。
三、OV7725摄像头

图 2 OV7725
OV7725是OmniVision公司的生产的一款低成本高清CMOS摄像头芯片,可达到30w像素,支持VGA和QVGA的图像大小。输出格式支持Raw RGB, RGB(GRB 4:2:2, RGB565/555/444) 和YCbCr(4:2:2)格式。支持AEC(自动曝光控制),AGC(自动增益控制),AWB(自动白平衡),ABF(自动带通滤波器)等功能,通讯协议采用sccb(串行摄像头控总线)协议,支持8/10 位的bayer格式输出。
四、人机交互界面

图3 4.3寸LCD显示屏
显示器采用4.3寸的TFT电阻屏,采用显示器的目的是方便查看当前摄像头是否捕获到了相应的二维码。这样能够快速的定位二维码。当然如果摄像头的位置是固定的,可以不用LCD显示屏。
效果展示
结合所需的系统组件编写相应的应用程序(测试程序功能:当解码成功后在串口打印输出解码出信息),如下所示。

图4 OV7725摄像头
通过移动摄像头,或者移动相应的二维码图片,使二维码在LCD屏上能清晰的显示。

图5 LCD显示屏
当LCD显示屏上能够清晰的显示一帧带二维码的图片,才能解码成功。

图6 主控(由M105x核心板和底板组成)
当采集一帧图像,主控尝试进行二维码的解码,解码成功会在控制台上打印解码信息。

图7 解码成功并打印解码信息
当成功解码一帧,就会在控制台上打印出解码的信息。
五、采用M105x做二维码实别的优势
超强处理性能,赋予极致解码能力
由于M105x的频率能够达到528MHz,相对于其他微控制器的来说,CPU的速率,在二维码解码速度上占有足够的优势,解码一帧VGA(640 * 480)的图片平均需要52ms,解码一帧QVGA(320 * 240)的图片平均需要28ms。
六、高速SDRAM助力
M105x核心板上,板载一个16M的SDRAM芯片,有足够的内存去处理算法方面的工作。下表是对SDRAM的读与写的测速。
表1 SDRAM的读写测速

七、丰富的外设资源
M105x外设多如图8,可以在处理二维码的同时可以操作其他外设做相应的工作。

图8 M1052 核心板功能框图
无线传输
由于M105x分别有集成有Wi-Fi、LoRa等的核心板,所以可以通过网络传输解码数据。可以通过应用场景选则相应的核心板。
上一篇:红外热成像机芯模组优势分析
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 04:05 编辑 反射式光电传感器简介 反射式光电传感器在机器人中有着广泛的应用。可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。这种光电传感器的基本原理是,自带一个光源和一个光接收装置, ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 在面向智能手机应用的创新型 IC 产品取得初步成功之后,Cirrus Logic公司又将标准产品线拓展至智能手机和移动消费电子应用。 CS42L73 是一款专为智能手机设计的高质量、 ...… 查看全部问答> |
|
讨论:如何像调用sqlite3一样来调用dll(欢迎大家一起来讨论) 对于sqlite3: 相关文件:main.c Makefile 在main.c中对SQLite3进行相应的操作,在Makefile中,只要加一句gcc -o $@ $(OBJ) -lsqlite3后,就可以在main.c中直接调用Makefile3中的各种方法了 对于一个我们自己的dll文件: 相关文件: ...… 查看全部问答> |
|
请教个问题 假设我现在有个机器,是用的是WINCE 系统,机器上带有 WIFI模块 现在我如何,实现此机器 通过WIFI接口,与其他的机器(也支持WIFI)进行数据交换呢? 现在假设 A,B 两个机器,都支持 WIFI功能的 在A 上 发一个命令,然后B 接受后并 ...… 查看全部问答> |
|
在百度以及alldatasheet.com以及DIGIKEY,以及google,yahoo上都没有找到这个芯片的手册,望哪位能帮忙提供一下,最好能有个外围典型电路,这个是个蓝牙芯片,BGA封装,一般山寨手机用的多。先谢了 … 查看全部问答> |
|
芯片为STM32F105VC 用JLINK下载,只能擦除FLASH,但下不了程序, QQ截图未命名.png (5.79 KB) 下载次数:0 2010-6-18 09:07 … 查看全部问答> |




