基于ZYNQ7020的健康码识别系统
通过OV5640摄像头,从PL侧采集RGB图像数据,经过使用HLS工具综合出的图像处理IP,实现彩色图像的高斯滤波,去除图像噪声,并将处理后的图像通过VDMA保存到DDR中。PS侧通过Linux系统,利用V4L2框架调用VDMA,将图像由DDR中读出,利用OpenCV库,对图像进行二值化处理。通过Zbar库,对二值化的图像进行二维码定位与识别,利用OpenCV库,对二维码区域进行颜色识别。最后,将识别结果叠加到原图像上,利用VDMA写回DDR,LCD读取DDR数据,将图像显示出来。系统整体框图如图1所示
图1 整体框图
对绿码与黄码进行识别,识别结果如图2、图3所示。屏幕左上角为颜色识别结果,屏幕中央为二维码内容识别结果。
图2 绿码识别结果