高速公路车牌识别系统设计及MATLAB仿真 第三章 设计及MATLAB仿真步骤
第三章 高速公路车牌识别系统设计及MATLAB仿真步骤
3.1图像获取
在这个部分中我们利用在道路两侧安装的高分辨率摄像机对来往的车辆实施动态或者静态抓拍,然后经过图像采集器得到当前的图像,再形成相应的图像数据存储在计算机中,此时存储在计算机中的图像为彩色模式的。
3.2图像处理
3.2.1图像灰度转换及转换效果
由于使用MATLAB内的RGB转灰度图函数rgb2gray(),所以通过边缘检测方法,识别出临近区域灰度值相差大的分界区。
原始图像
灰度图像
图3.1 灰度图转换效果对比
13
高速公路车牌识别系统设计及MATLAB仿真 第三章 设计及MATLAB仿真步骤
经过图形的对比分析,原始图中车牌区域的灰度明显与其他区域不同,其中蓝底部分最为明显。通过程序运行出来的灰度图能够比较容易的识别出车牌的区域,达到了预期的灰度效果。 3.2.2图像边缘检测
使用MATLAB函数edge()进行边缘检测,效果如图3.1所示:
图3.2 边缘效果图
从上面边缘效果图可以看出,车牌轮廓在处理以后已经比较明显,车牌区域及汽车标志的边缘呈白色条纹状,基本上达到了边缘检测的效果。但是,由于车牌附近区域的影响,也有白色区域出现,因此图像还需要进一步的处理。 3.2.3灰度图腐蚀
在MATLAB中使用函数imerode()腐蚀后如图:
图3.3 腐蚀效果图
对图像进行腐蚀的目的就是要消除小且无意义的物体,通过边缘效果检测图与腐蚀效果图的比较可以看到,在边缘检测图中存在的小且无意义的区域已经被完全
14
高速公路车牌识别系统设计及MATLAB仿真 第三章 设计及MATLAB仿真步骤
消除了,剩下的只是车牌区域和车的标志。现在,已经得到了车牌图像的轮廓线,下一步需要的是通过适当的处理来把车牌提出来。 3.2.4图像平滑处理
在得到了车牌区域的图像轮廓线之后,使用MATLAB中的函数imclose()。得到图像平滑后效果如下:
图3.4 平滑处理后效果图
从平滑后的效果图可以看出,平滑处理达到了预期,即消除图像的数字化误差以及在脚点提取中噪声的影响。
3.3移除小对象
运用MATLAB中的函数bwareaopen()对经过平滑处理的图像进行小对象移除,图像如图3.4所示:
图3.5 移除小对象后效果图
可以看到移除小对象后的效果图中最后只存在车牌区域,小物体、车的标志及其
15
高速公路车牌识别系统设计及MATLAB仿真 第三章 设计及MATLAB仿真步骤
它不相关的区域都被消除了。
3.4车牌区域的边界值计算
对原图像进行二值化后,经计算确定水平和垂直分界线,便可从原图像中提取出只包含车牌区域的图像。提取得到的图像如下:图3.4.1为二值图提取出来的图像,图3.4.2为RGB图像提取出来的图像:
图3.6 车牌区域二值化裁剪图
图3.7 原图中的车牌区域图像
通过原始图像与二值图裁减图的对比,在车牌的四个边界值被确定下来了之后,就能够在原始图像中确定车牌的区域了。这样,就能完成车牌的提取。
3.5字符分割
按照设计原理中的流程图对图像进行分割,分割的字符图像如下:
图3.8 经切割的七个字符
从上图可以看出,经过分割后,把连在一起的一组字符分割成了单个字符,为字符的识别奠定了基础。
16