一、课题目标
本文主要介绍了一种采用基于matlab数字图像处理的图像识别技术,对身份证原始图像中的序列号标示进行图像识别的方法。该系统通过图像预处理、图像定位、图像校正并最终输出结果。在系统调试阶段,根据遇到的错误即时对原系统进行调整,并最终获得较为稳定高效的身份证序列号快速识别系统。
二、算法流程
学习MATLAB程序设计,利用MATLAB函数功能,设计和实现一种身份证号识别系统。身份证号识别系统的基本工作原理为:将不同途径获取的身份证图像输入到计算机中进行预处理,再对身份证序列号进行搜索、检测、定位,并分割出包含身份证序列号的矩形区域,实现对序列号的快速识别。
三、设计的实现
1.载入原始图像
系统调试过程中原始图像的获取从百度图片中获得,在后续系统测试过程中为了验证系统的稳定性和统一性加入直接扫描获得的图片作为原始图像。
>> I=imread('1.jpg');
figure(1),imshow(I);
title('原始图像');%将身份证的原图显示出来,并加标题为“原始图像”。
结果如下:
图1 身份证原始图像
2. 将彩图转换为灰度图并绘制直方图
在数字图像处理中,灰度直方图是最简单且最有用的工具,直方图表达的信息是每种亮度的像素点的个数。直方图是图像的一个重要特征,因为直方图能够用少量的数据表达图像的灰度统计特征。一个灰度级别在范围[0,L-1]的数字图像的直方图是一个离散的函数:
(其中,n是图像的像素总数;nk是图像中第k个灰度级的像素总数;rk是第k个灰度级,k=0,1,2,…,L-1)
具体程序如下:
>> I1=rgb2gray(I);%将RGB图转换为灰度图
figure(4),subplot(1,2,1),imshow(I1);
title('灰度图');%绘制灰度图
figure(4),subplot(1,2,2),imhist(I1);
title('灰度图直方图');%绘制灰度图的直方图</