简单的车牌识别程序,
第一步:从原图像中切割出车牌,去除无用信息
1、读取原图像。
2、将原始彩色图像转换成灰度图像,并显示直方图(如果分布十分不均匀,使用直方图均衡化处理)。
3、使用roberts算子进行边缘检测(MATLAB中调用edge函数)。
4、图像腐蚀(去除不需要的边缘信息,尽可能只保留车牌上字符的轮廓)。
5、图像膨胀(平滑图像轮廓,图中没能完全滤出车牌之外的所有边缘信息,剩下了一部分,其实就是车牌上的那个奥迪标志,后面还要想办法把它给去掉)。
6、从图像中移除小块对象(调用bwareaopen()函数,从图像中删除所有少于2200像素8邻接的区域,最后只剩下车牌区域了)。
7、根据最后图像中“白色”的那部分界定车牌所处的区域,并重新在原图像中进行切割,得到车牌的图像。
第二步:从前面得到的车牌图像中切割出每个字符
1、先将车牌图像转换为灰度图像并绘制直方图。
2、为增强对比度,对灰度图像再做直方图均衡化。
3、将图像二值化。
4、中值滤波,滤除一些无用信息。
5、调用编写的脚本,计算每个字符的位置,并逐一进行切割,得到只储存单一字符的图像。
6、与准备好的字符模板比对,计算出与其误差最小的某个字符模板,识别为对应的字符。