1、 数字图像处理实习报告数字图像处理实习报告 实习项目名称:实习项目名称: OCR-车牌号码识别 所属课程名称:所属课程名称: 数字图像处理 班班 级:级: 学学 号号: 姓姓 名:名: 指导教师:指导教师: 目目 录录 一、实习目的 3 二、实习原理 3 三、实习步骤 3 3.1 完成车牌定位的整个过程 4 3.2 水平差分提取图象边缘 4 3.3 完成图象车牌区域的初步定位。 . 4 3.4 利用先验知识标识车牌区域,进行车牌区域的选择 4 3.5 水平查找后,纵向查找。完成图象车牌区域的初步定位。 5 3.6 利用先验知识标识车牌区域,进行车牌区域的选择, (横纵向) . 5 3.7 计算
2、伪车牌区的跳变平均数 5 3.8 找出所有伪车牌区域中具有最大跳变平均数的区域号,精确定位车牌 5 3.91 找出车牌的左右边缘 . 5 3.92 二值化图象 . 6 3.93 车牌字符分割 . 6 3.94 水平方向投影,分割出字符 . 6 四、实验程序 6 五、实习结果. 24 六、实习心得. 28 一、实习目的一、实习目的 (1) 掌握数字图像处理的相关知识及算法。 (2) 学习在VC 6.0环境下编写车牌定位与识别程序。 (3) 了解车牌定位方法,如边缘检测法,基于矢量量化的车牌定位法等。 (4) 了解车牌字符分割方法,如,投影法,基于车牌字符先验知识的字符分割方法等。 (5) 了解车
3、牌字符识别方法, 如字符归一化, 投影法, 基于数字和字母特征的模板匹配法。 (6) 运用编写的车牌定位与识别程序实现在各种环境下车牌的识别。 二、实习原理二、实习原理 基于 VC+图像处理的汽车牌照识别系统主要包括车牌定位, 字符车牌分割和车牌字符识别 三个关键环节其识别流程图如图 1 所示。 图 1 识别流程图 其中, (1) 原始图像:原始的汽车图像; (2) 图像预处理:对采集到的图像进行滤波等处理以克服图像干扰; (3) 车牌定位:计算边缘图像的投影面积,寻找峰谷点,大致确定车牌位置,再计算此 连通域内的宽高比,剔除不在域值范围内的连通域,最后得到的便为车牌区域; (4) 字符分割:
4、利用投影检测的字符定位分割方法得到车牌的字符; (5) 字符数据库:为第 6 步的字符识别建立字符模板数据库; (6) 字符识别: 通过基于模板匹配的人工神经网络算法, 通过特征对比或训练识别出相 关的字符,得到最后的汽车牌照,包括英文字母和数字。 三、实习步骤三、实习步骤 请打开一个 BMP 格式的位图文件:标示图象的坐标标示算子的坐标标识区域的地点 原始图像 图像预处理 车牌定位 二值化均衡化 字符分割 字符识别 3.1 完成车牌定位的整个过程完成车牌定位的整个过程 程序流程:1.产生副本 2.水平差分提取边缘,寻找横向的车牌带状区域 3.垂直差分提取边缘,寻找纵向的车牌带状区域 4.利用
5、先验知识标识车牌区域,进行车牌带状区域的选择, (横纵向) 5 .构造出车牌矩形域; 6.再次利用利用跳变数选择车牌矩形区域,进行车牌区域的最终选择; 7.精确定位车牌,即削弱车牌横向宽度; 8.更新图象; 3.2 水平差分提取图象边缘水平差分提取图象边缘 程序流程:1.逐行扫描,sub=|f(x,y)-f(x,y+1)|; 2.若差值小于 20,则 g(x,y)=0; 若差值大于 30,则增强原图象,令 g(x,y)=g(x,y)+30; 3.另最后一列全部为 0,即黑色; 3.3 完成图象车牌区域完成图象车牌区域的初步定位。的初步定位。 程序流程: 1.利用间行扫描的方式找出跳变数最大的前
6、 10 行; 2.对 Top 10 行进行区域细粒度增长选择; 其相似度的选取为:0.71.3 倍的该行跳变总数; 3.二值化,threshold=255; 4.任意选择一列,最好不要边缘列,可能有干扰(本程序选择为第十列) ,搜 索出各个带状候选域,存入标志; 3.4 利用先验知识标识车牌区域,进行车牌区域的选择利用先验知识标识车牌区域,进行车牌区域的选择 函数说明:特定应用条件,拍摄所得车牌的区域高度、宽度均有一定的范围, 其大小可以分析图象后可得 根据统计得到:车牌的顶部极少出现在高度小于 100 个像素的区域; 车牌高度也一般大于 20 个像素。 程序的最终结果为满足条件的经过扩展了的带状区域 程序流程:1.舍弃区域顶部小于 100 的待选域 2.选择区域高度大于 20 的待选域 3.区域扩展,上下各增大 5 个像素。若顶部小于 5,则顶部坐标不变,高度加 5; 若底部大于图象的底部,则底部坐标不