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

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

上篇我们轻松实现了车牌定位的预处理,得到的最终预处理图片如下所示。注意一下,本工程是要求测试的图片要尽可能是正的,不要斜,如果是斜的图片,实际处理的过程中要先进行各种校正,至于如何校正不是本文的重点。

得到如上预处理的图片,如何进行车牌边界的定位呢**?其实很明显,车牌的边界应该都是连续和相对连续的横线或者竖线,所以我们分别对每行或者每列的图像值为1的点进行求和存储,最后再对前后行存储的数据和进行比较,变化大于设定阈值的行或者列就是车牌的边缘。**

在\src\plate_location文件夹下新建horizontal_location.sv文件,完成车牌上下边界的定位。首先完成每行图像数据值的叠加(不是0就是1,就是一行所有像素点求和),并保存到数组ram中。

在图片的最后一行,将前面每行求和的数据从数组ram中一一读出来。

用ud_edge_flag信号来标示上下边界,ud_edge_flag==0时,ram前后两行数据的变化大于阈值THRESHOLD,那就是上边界(反映在图片上是下边界,应用bmp图像是从下往上);如果ud_edge_flag==1,ram前后两行数据的变化大于阈值THRESHOLD,那就是下边界。

最后对上下边界进行适当的调整,这个根据实际情况来,一般边界也不是1行,调整是为了在边界线的中间位置。

完成上下边界的定位,那就开始左右边界的定位,在\src\plate_location文件夹下新建vertical_location.sv文件,思路和求上下边界基本一致。首先将每列的数据分别相加后存放人数组ram中。

在图片的最后一行,将前面每=列求和的数据从数组ram中一一读出来。这儿为了解决图片稍微倾斜的问题,取相邻的五列ram数据进行叠加。

用lr_edge_flag信号来标示左右边界,lr_edge_flag==0时,ram前后多列数据的变化大于阈值THRESHOLD,那就是左边界;如果lr_edge_flag==1,ram前后多列数据的变化大于阈值THRESHOLD,那就是右边界。

最后对左右边界进行适当的调整,这个也是根据实际情况来。

完成车牌上下左右边界的初步定位,还需要进一步的调整,在\src\plate_location文件夹下新建plate_boarder_adjust.sv模块,主要完成车牌比例调整,检测边界是否有效等功能,并将车牌定位的区域缩到字符的区域,这个模块成工基本没有进行太大的改动。

在\src\plate_location文件夹下新建plate_location模块,完成目前所有模块的集成,如下所示。

完成车牌和字符边界的定位,我们要把定位的信息反应在图片上,也就是在图片上将车牌的位置标出来,看看对不对,在\src\plate_location文件夹新建location_out.sv模块,用来将车牌定位和字符定位的信息反应到原图片上,也就是进行叠加。思路也是非常的简单,找到要画线的区域,用固定的颜色标出来即可。

在下一个initial块中,完成两帧图片的保存。

打开img下的output文件夹,可以看到车牌边界的定位和字符区域的定位。

相关推荐
leafff1231 小时前
新手入坑 Stable Diffusion:模型、LoRA、硬件一篇讲透
人工智能·计算机视觉·stable diffusion
格林威4 小时前
AOI在产品质量检测制造领域的应用
人工智能·数码相机·计算机网络·计算机视觉·目标跟踪·视觉检测·制造
卍郝凝卍5 小时前
NVR(网络视频录像机)和视频网关的工作方式
网络·图像处理·物联网·音视频·视频解决方案
bnsarocket8 小时前
Verilog和FPGA的自学笔记9——呼吸灯
笔记·fpga开发·verilog·自学·硬件编程
武子康8 小时前
AI研究-116 特斯拉 HW3.0 与 HW4.0 区别详解:摄像头分辨率、FSD算力、雷达与Vision泊车
人工智能·深度学习·计算机视觉·ai·自动驾驶·汽车·视觉检测
Mrliu__8 小时前
Opencv(六) : 颜色识别
人工智能·opencv·计算机视觉
努力犯错8 小时前
Google Veo 3.1 提示词生成器:让 AI 视频创作效率翻倍的免费工具
人工智能·计算机视觉·语言模型·开源·音视频
武子康10 小时前
AI研究-117 特斯拉 FSD 视觉解析:多摄像头 - 3D占用网络 - 车机渲染,盲区与低速复杂路况安全指南
人工智能·科技·计算机视觉·3d·视觉检测·特斯拉·model y
AndrewHZ10 小时前
【图像处理基石】如何在图像中实现光晕的星芒效果?
图像处理·opencv·计算机视觉·cv·图像增强·算法入门·星芒效果
你也渴望鸡哥的力量么11 小时前
基于边缘信息提取的遥感图像开放集飞机检测方法
人工智能·计算机视觉