二维码识别不再依赖专用摄像头模组,即使是常见的数字摄像头、模拟摄像头、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 等的核心板,所以可以通过网络传输解码数据。可以通过应用场景选则相应的核心板。