用Matlab实现身份证号码快速识别

摘 要: 探讨身份证号码的快速识别。 首先从身份证图像中获取 09 10 个号码数字的样本图像从中提取其空间分布特征和结构特征;  再从待识别的身份证图像中提取各号码数字的空间分布特征和结构特征最后用相似系数最大和结构特征一致准则对各号码进行识别,  并应用 Matlab 编程实现了身份证号码的快速识别

关键词身份证号码识别Matlab; 分布特征结构特征相似系数

引言

作为居民身份的象征身份证已成为生活中必不可少的证件出于保障公民合法权益和社会治安的考虑越来越多的行业都开始要求进行实名制和身份证登记管理如公安海关银行通信网吧及酒店旅馆洗浴业等因此利用计算机进行自动识别录入尤为必要身份证自动识别代替手工录入可以大大提高工作效率因而具有广阔的应用前景

本文以第二代居民身份证为研究对象,从身份证号码图像中提取号码数字 09 的空间分布特征和结构特征采用相似系数最大和结构特征一致准则应用 Matlab 软件编程实现了身份证号码的快速识别

  1. 基本原理

身份证号码识别技术的基本原理如图 1 所示

1 身份证号码识别技术的基本原理图

第二代居民身份证的大小是固定的宽度为 8.6cm, 高度为 5.4cm, 因此扫描身份证得到的图像可以缩放到同一个大小本文采用的图像宽度为 366 个像素高度为 233 像素这样在从身份证图像中提取号码数字图像时可以快速定位

由于第二代居民身份证的号码字体比较特殊所以需要从身份证图像中获取号码数字 09 的图像作为样本用于提取特征样本数字图像如图 2 所示

该样本数字图像为真彩色图像需要对其进行预处理

2 第二代居民身份证号码样本数字图像

先将真彩色数字图像转化为二值图像P 为真彩色数字图像的任意点P 的颜色三分量值分别为 rgb, 若 0.299*r+ 0.587*g+0.114*b<0.5, 则二值图像对应的点为白色否则为黑色然后对二值图像进行数字分割将图像中的 10 个数字完整单独地分割出来最后对分割后的每个数字图像进行规范化处理若单个数字图像的整行或整列全为 0, 则删除该行或该列预处理后的各样本数字图像如图 3 所示

3 预处理后的样本数字图像

为达到较好的视觉效果在每个样本数字图像周围増加了一个黑色矩形方框

完成预处理后接下来就是提取每个数字的特征本文考虑每个数字的空间分布情况和形状结构特点作为分类识别的特征

    1. 空间分布特征

首先将预处理后的样本数字图像看成是有质量的图形其中白色点的质量为 1黑色点的质量为 0该图形的质心坐标总体上能反映对应数字的空间分布情况x1 x2 分别表示质心横坐标和纵坐标x1 等于该样本数字图像中白色点的横坐标之和除以白色点的个数x2 等于该样本数字图像中白色点的纵坐标之和除以白色点的个数

再将样本数字图像等分成上下两个部分x3 x4 分别表示该样本数字图像上半部分的质心横坐标和纵坐标x5 x6 分别表示该样本数字图像下半部分的质心横坐标和纵坐标

最后将样本数字图像等分成左右两个部分x7 x8 分别表示该样本数字图像左半部分的质心横坐标和纵坐标;  x9 x10  分别表示该样本数字图像右半部分的质心横坐标和纵

坐标

各区域的质心横坐标为该区域内的白色点的横坐标之和除以该区域内的白色点的个数各区域的质心纵坐标为该区域内的白色点的纵坐标之和除以该区域内的白色点的个数

10 个质心坐标组成的向量

x= (x1x2x3x4x5x6x7x8x9x10) T

就是该样本数字图像对应的数字的空间分布特征逐个计算各数字的空间分布特征向量并将它们存放于数组中

    1. 结构特征

采用数字的空间分布特征可以将数字 1”、 “2”、 “4”、5”、 “7” 正确识别出来, 但数字 “0”、 “3”、 “6”、 “8”、9有时却不能正确识别针对这几个会出现误判情形的数字进行分析不难发现它们的形状结构特征明显数字 069含有一个洞数字 3不包含洞数字 8含两个洞由于身份证号码字体的特殊性数字 1”、 “2”、“4”、 “5”、 “7均不含有洞

Matlab 中的 bweuler 函数返回二值图像的欧拉数欧拉数是对图像的拓扑度量它是指图像中对象的总个数与这些对象中洞的个数的差可以使用 4 连通或 8 连通邻域各数字的欧拉数参见表 1

1 各数字的欧拉数

本文采用 8 连通邻域将各样本数字图像的欧拉数作为它的结构特征并存放于数组中 E (10)

    1. 分类识别准则

样本数字图像的空间分布特征和结构特征分别存于数组digital (1010) E 10 中对于待识别身份证号码 18 的目标按照前面类似的处理过程提取各号码数字的空间分布特征和结构特征并存放于数组 obj (1810) objE

(18) 中。

x= (x x ,..x ) T 为目标号码数字的空间分布特征

对于待识别的目标数字号码计算该数字号码的空间分布特征与 10 个样本数字的空间分布特征的相似系数其分类识别准则是在结构特征一致的条件下相似系数最大的对应的样本数字就是该目标号码的识别结果

  1. 程序实现

采用 Matlab6.5 release R 13 作为开发工具Windows XP 平台下实现了身份证号码的快速识别

4 是程序使用的身份证图像 程序输出结果为 350426198107282635对多个身份证图像进行测试均得到正确的结果

4 待识别的身份证图像

身份证号码识别的程序代码如下

1 2 10

y= y 1 y 2 ... y 10 T  为样本号码数字的空间分布特征 定义两者的相似系数为

结论

本文对第二代居民身份证的号码数字进行分析提出了基于空间分布特征的相似系数最大和结构特征一致的分类识别准则使得识别方法较简单对多个身份证图像进行测试 将程序中的 IDCard01.jpg 替换为待测试的身份证图像文件名), 均能快速准确识别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值