最近朋友需要我帮助他做一个身份证号的提取和识别的系统,我帮助他解决了这个问题。下面我就解决这个问题的几个关键技术要点,列写出来,以飨博友。
身份正号的提取和识别,使用图像处理的方法进行提取。首先需要做的是,采集获取高质量的身份证图像信息,考虑到现在的第二代身份证是彩色的,所以推荐使用彩色的CCD相机采集获取图像。将身份证,放置在黑色背景的平板桌边上面,进行采集,并且光照尽量均匀。这样方便后续的处理。
第二步,需要做的是图像的旋转矫正。在身份证图像进行采集的时候,可以随意放置,这样采集的身份证在图像中的位置有一定的倾斜角度。使用固定阈值的的方法,提取出身份证二值化图像。如果有二值化噪音的话,可以使用形态学的方法进行去除。计算获取身份证的二值化图像与X轴方向的夹角,旋转图像就可获取对图像进行矫正,可以使用联通区域识别的方法。矫正后的身份证图像是水平的。然后再次使用二值化的方法,获取身份证所在区域的位置,提取出身份证图像。
第三步,是身份证号码字符的提取和分割。身份证号码在身份证图像中的位置是固定的,有一定的比例关系。按照这个比例关系就可以提取出身份证号码串的子区域。将提取出的身份证号码的子区域,进行细分。细分的方法可以使用X轴方向投影的方法。对身份证号码串进行分割,提取去每个身份号码数字的图像,这样就获取了15位或者16位的数字图像。
最后一步就是身份证号码的识别的问题。这属于字符识别的问题,博友可以参考我写的另一篇文章中内容进行《文本图像分割和识别算法的matlab实现、C++实现》,它讲述了字符的识别技术。我使用的方法是模板匹配法进行识别的,效果十分良好。
以下结果来源于网络,非本站所拥有!
Matlab中文论坛 Matlab,Matlab论坛,Matlab中文论坛,Matlab下载,Matlab6.5,Matlab7.0,Matlab PLP, Matlab图像处理,Matlab神经网络,Matlab视频教学,Matlab数学运算, Mimics...