闲庭信步使用图像验证平台加速FPGA的开发:第二十九课——车牌识别的FPGA实现(1)车牌定位的预处理

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球: 成工fpga, https://t.zsxq.com/DMeqH,关注即送200GB学习资料,链接已置顶!)

《闲庭信步使用图像验证平台加速FPGA的开发》这个系列基本要结束了,最后我们用一个车牌识别的实例来进行收官,大约需要六节课的样子

这个实例是参考哔哩哔哩上大磊老师讲的《基于FPGA的车牌识别》,流程如下所示,成工是将与处理的一些模块进行了替换,因为我们有现成的rgb2ycbcr,二值化,sobel,腐蚀和膨胀相关的模块,后面的车牌边界和字符区域的水平投影,竖直投影,字符的识别按照自己的理解进行了一些改进。最主要的改进还是将仿真变成了自动化的仿真本节课就对车牌上下左右边界的定位进行预处理。

车牌上下左右边界的定位,**先将RGB图像转换成Ycbcr的格式,然后取Cb的通道进行二值化,之所以取Cb通道是因为大部分车牌的背景都是蓝色的。Cb通道二值化后进行腐蚀操作,对腐蚀后的图片再进行sobel边缘检测,最后再进行膨胀就完成了预处理,**预处理后的图片就可以进行车牌上下左右边界的定位操作了。

预处理的各个模块我们在前面的章节都有实现,直接调用即可,在顶层的top模块中例化上面的各个模块,为了能将每一步的处理都能保存图片查看,这儿成工用了img_sel信号来进行选择

下面就是对各个模块的例化,有个地方需要注意一下,那就是设计到行缓存的操作时序优化延时至少一行,所以我们在data_cache3模块中会在最后补一行,但是对于连续的行缓存(腐蚀,sobel,膨胀3个操作都需要行缓存),后面的操作都要在前面已经补了一行的基础上再补一行,行的位置需要根据DELAY参数来确定。所以整个预处理操作下来,图像最终至少延时3行。同时也可以看出,这个图像的预处理需要处理五帧图片。

在tb_image_sim文件中,我们来介绍一个新的功能,那就是关联数组,关联数组光看定义是不好理解的,用实例就能轻松的掌握。如下所示,img的input文件夹下有很多的测试图片,我想要那张就要把这一张的名称写在测试程序里面。那我们可不可以只用一个标号就可以取出来对应的图片呢?这时候就可以使用关联数组了。

如下我们新建了car和style两个关联数组,数组的标号是int类型,里面存储的内容是string类型,其中car就是存储上面图片的名称,sytle存储要输出图片的名称,这样后续的操作只需要对car_index和style_index操作即可,不需要再对图片名称进行直接处理了。

如下新增一个initial块,完成两个关联数组的初始化。

在下一个initial块中,分别将预处理的五帧图片进行保存。这儿有一点需要注意,198行是对队列进行清空的操作,否则图片数据会继续往后存储,那保存的五幅图片都是Cb通道的图片。

双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

因为要处理五幅图像,处理时间较长,modelsim的Transcript有如下的打印信息。

最后我们打开img/output文件夹,就可以看到预处理每一步的处理结果。

当然大家也可以修改car_index选择不同的值重新进行仿真,比如car_index=9重新进行仿真,img/output文件夹下的图片如下。

到现在就能体现出来图像验证平台的优势了,可以直接调用模块快速完成预处理,这样就可以把精力用在处理算法的开发上来。

相关推荐
YOLO数据集集合3 小时前
高铁轨道紧固件损坏检测数据集 | 高铁巡检 紧固件缺陷 轨道安全9093期
人工智能·目标检测·计算机视觉·目标跟踪·轨道·铁轨紧固件·铁轨
潜心一志9 小时前
HALCON软件——基础语法
学习·计算机视觉
毋小黑11 小时前
753K 参数打赢 SwinIR:CRAFT 用「高频先验」给 Transformer 超分查漏补缺
人工智能·opencv·计算机视觉
Riwuarua12 小时前
从近似0基础开始FPGA开发 -- part.14 JESD204协议、IP核与嵌入式初始化
fpga开发·jesd
TAN-90°-12 小时前
Deep Learning for Computer Vision——Generative Models 2
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉
YOLO数据集集合13 小时前
光伏板红外-可见光配对缺陷检测数据集 | 光伏板缺陷 红外可见光配准 多模态检测 无人机巡检 目标检测 YOLO格式9094期
人工智能·目标检测·计算机视觉·目标跟踪·红外·无人机视角·太阳能板
岁月蹉跎的一杯酒14 小时前
ISPDiffuser:用扩散模型学习 RAW→sRGB 映射
图像处理·isp
刘广睿14 小时前
影栈实战:AI 生图放大不再糊,Hires.fix 与 ESRGAN 超分从 512 到 4K 封面
图像处理·人工智能·深度学习·aigc·效率工具
AI的探索之旅15 小时前
97 个 OpenCV 实例(二十九):三相机联合标定,把三只眼睛绑在一起
人工智能·opencv·计算机视觉
这张生成的图像能检测吗15 小时前
(论文速读)IPFP:把图像特征反投影到 3D,用单分支完成多模态训练
人工智能·计算机视觉·点云·多模态融合·3d技术·三维感知·2d相机