基于MATLAB的身份证号码识别系统

一、课题目标

本文主要介绍了一种采用基于matlab数字图像处理的图像识别技术,对身份证原始图像中的序列号标示进行图像识别的方法。该系统通过图像预处理、图像定位、图像校正并最终输出结果。在系统调试阶段,根据遇到的错误即时对原系统进行调整,并最终获得较为稳定高效的身份证序列号快速识别系统。

二、算法流程

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

三、设计的实现

1.载入原始图像

系统调试过程中原始图像的获取从百度图片中获得,在后续系统测试过程中为了验证系统的稳定性和统一性加入直接扫描获得的图片作为原始图像。

>> I=imread('1.jpg');

figure(1),imshow(I);

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

结果如下:


v2-90fe7df6b4b3a20f46adbb47871dfe2f_b.jpg

图1 身份证原始图像

2. 将彩图转换为灰度图并绘制直方图

在数字图像处理中,灰度直方图是最简单且最有用的工具,直方图表达的信息是每种亮度的像素点的个数。直方图是图像的一个重要特征,因为直方图能够用少量的数据表达图像的灰度统计特征。一个灰度级别在范围[0,L-1]的数字图像的直方图是一个离散的函数:


v2-6f51a49b8c2326ddbabeb5fd8f7e0a56_b.jpg

(其中,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('灰度图直方图');%绘制灰度图的直方图</

  • 2
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值