数字图像处理课程设计 基于Matlab的数字图像处理(2)

2019-01-07 13:14

二、设计的内容

学习MATLAB程序设计,利用MATLAB函数功能,设计和实现一种身份证号识别系统。身份证号识别系统的基本工作原理为:将不同途径获取的身份证图像输入到计算机中进行预处理,再对身份证序列号进行搜索、检测、定位,并分割出包含身份证序列号的矩形区域,实现对序列号的快速识别。

开始 读取身份证图像

灰度化 确定号码区域 边缘检测 图像腐蚀

结束 删除二值图像的小面积对象 平滑图像 身份证序列号定位

由于图像识别技术在静态车牌图像识别中发展较完善,因此本文也参考了车牌图像识别中相关资料和其他参考书[6-8]。系统可以运行于Windows XP、windows 7等操作系统下,程序调试时使用matlab R2013b。系统所用具体功能模块及函数的工作原理、实现方法及效果图在下一节分步说明。

第6页

三、设计的实现

1.载入原始图像

系统调试过程中原始图像的获取从百度图片中获得,在后续系统测试过

程中为了验证系统的稳定性和统一性加入直接扫描获得的图片作为原始图像。

>> I=imread('1.jpg'); figure(1),imshow(I);

title('原始图像');%将身份证的原图显示出来,并加标题为“原始图像”。 结果如下:

图1 身份证原始图像

第7页

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('灰度图直方图');%绘制灰度图的直方图 结果如下:

第8页

图2 灰度图直方图

3. 原始图像几何变换

由于身份证序列号固定位于图像右下角,为了更好的对图样进行操作及

有效处理,先对原始图像中序列号进行粗定位,对原始图像进行剪切及放大操作。(在系统完成后测试代码时发现,对不同采样图像原始大小不同,以下代码调试所用原图大小为[475,225],故对其他采样图像可以压缩至同等大小,故本系统中剪切图像选择区域即具有普适性,压缩程序在系统调试中加以说明,在此略过。) 3.1 图像剪切

第9页

在matlab中,用函数imcrop实现对图像剪切操作。该操作剪切的是图

像中的一个矩形子图,用户可以通过参数指定这个矩形四个顶点的坐标,也可以交互地用鼠标选取这个矩形。 具体程序如下: >>I2=imcrop(I,[ 180,300,480,180]);%在一定区域范围内对图像进行剪切 figure(2);imshow(I2);

title('剪切后的图像');%显示图像并命名为“剪切后的图像” 结果如下:

图3 对原始图像进行剪切后的图像

3.2 图像的放大

对原图像进行放大操作,以便于后期处理及有效识别。Matlab中,用

函数imresize来实现对图像的缩放。可以使用最近邻值、双线性插值和双三次插值方法。其中直接赋值为和它最相近的像素灰度值,称为最近邻插值法,该方法的主要特点是简单、计算量很小,但放大效果较差,可能会产生马赛克现象。通过数学插值算法来计算相应的像素点的灰度值,这类方法处理效果好,但运算量会有所增加。本文选用的是双线性插值法进行放大操作。

第10页


数字图像处理课程设计 基于Matlab的数字图像处理(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:传播学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: