MATLAB身份证号识别

  • MATLAB身份证号识别
    • 将要处理图片
    • 提取数字区域
    • 紧接着将数字分割保存 。
    • 自己的数据集
    • 将图片格式化
    • 将分割后的图片一一与10个不同数据进行对比,得到一个数组matchrs(n_10)
    • 定义一个数组fonts='0123456789';
    • 获得matchrs(n_10)中最大值是第几个,输出对应位置的fonts值,就完成了。
    • 完整项目代码

MATLAB身份证号识别

本文将在提取身份证数字区域后通过corr2()函数进一步处理,得到图片所对应身份证号并输出。

将要处理图片

提取数字区域

clc,clear,close all;
f=imread('id.jpg');
bw=~im2bw(f);se=strel('line',20,0);
bw_dilate=imdilate(bw,se);bw_dilate_erode=imerode(bw_dilate,strel('line',200,0));bw_re=imreconstruct(bw_dilate_erode,bw_dilate);result=imreconstruct(bw_re,bw);
figure,imshow(result);

结果展示:

紧接着将数字分割保存 。

[r,c]=find(result);
nextresult=result(min(r) :max(r),min(c):max(c));[h,w]=size(nextresult);
hs=sum(nextresult);a=1;b=1;i=1;
splitfs={};points=[];
figure
while(a<w)while(hs(a)==0&&a<w)a=a+1;endb=a;while(hs(b)>0&&b<w)b=b+1;endif(b-a>2)hresult=nextresult(:,a:b);[r,c]=find(hresult);result2=hresult(min(r):max(r),:);m=min(r);n=max(r);xi=hresult(m:n,:);splitfs{i}=xi;points=[points;m,n,a,b];subplot(3,6,i),imshow(result2);i=i+1;enda=b;
end

自己的数据集

将图片格式化

picSize=[20,50];

将分割后的图片一一与10个不同数据进行对比,得到一个数组matchrs(n_10)

for m_18=1:size(xs,2)-1p=xs{m_18};p=imresize(p,picSize);for n_10=1:10q=imread(strcat('1\',int2str(n_10),'.jpg'));q=imresize(q,picSize);matchrs(n_10)=corr2(p,q);end[~,k]=max(matchrs);lastresult=strcat(lastresult, fonts(k));
end

定义一个数组fonts=‘0123456789’;

获得matchrs(n_10)中最大值是第几个,输出对应位置的fonts值,就完成了。

完整项目代码

链接:https://pan.baidu.com/s/1GrQsJ9vrXXpYb3KQkEQehQ
提取码:86xi

MATLAB身份证号识别相关推荐

  1. 1tensorflow 实现端到端的OCR:二代身份证号识别 + 2tensorflow LSTM+CTC实现端到端的不定长数字串识别

    1tensorflow 实现端到端的OCR:二代身份证号识别 链接地址:https://www.jianshu.com/p/803642d0d8f8 2tensorflow LSTM+CTC实现端到端 ...

  2. Vue中根据输入的身份证号识别年龄、性别

    需求: 根据用户输入的身份证号识别出年龄和性别,回显到相应的输入框中 分析:定义身份证号的正则表达式,利用字符串的方法截取出相关字符进行判断 示例: <template> <div ...

  3. c++ 图片验证码识别_基于tensorflow 实现端到端的OCR:二代身份证号识别

    最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字+数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的. 本文实现思路主 ...

  4. rhel 8.2不识别unicode_基于tensorflow 实现端到端的OCR:二代身份证号识别

    最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字+数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的.本文实现思路主要 ...

  5. python 调c++生成的dll 中识别char *_基于tensorflow 实现端到端的OCR:二代身份证号识别...

    最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字+数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的. 本文实现思路主 ...

  6. OpenCv NDK 银行卡/身份证号识别(3) 银行卡/身份证图像处理和卡号区域剪切

    通过前两篇我们已经对Opencv有所了解了,接下来就要真正的来处理我们的图像,然后把卡号给提取出来.首先我们先简单分析以下银行卡然后把处理流程列出来: 由上图我们很容易知道既然我们要找到卡号,银行卡的 ...

  7. 【opencv+mfc】实现身份证上的身份证号识别

    参考了很多网上的博客资源,有些只讲了如何提取身份证区域,有些只讲了如何做训练集.我将各个方法做了一些筛选和整合.身份证素材均来自网络. 实验目标 完成身份证识别程序,通过输入一张身份证图片,可以自动识 ...

  8. 未来居民健康档案编码以身份证号识别

    近日从国家基本公共卫生服务项目推进会上获悉,到今年底,居民的电子健康档案建档率要达到50%.未来的居民健康档案将采用17位编码制,并以身份证号码识别. 根据会上发布的<城乡居民健康档案管理服务规 ...

  9. PHP 根据身份证号识别 - 星座,生肖,性别

    class IDCard {public static function getXingZuo($cid){// 根据身份证号,自动返回对应的星座if (!self::isIdCard($cid)) ...

最新文章

  1. JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!
  2. 经典推荐:《Silverlight揭秘》和《ASP.NET 3.5高级程序设计(第2版)》
  3. [POJ] 3687 Labeling Balls(拓扑排序)
  4. putty和Xming server 结合完美在windows下显示linux GUI程序
  5. vim自带的练习教程(vimtutor)
  6. [leetcode]Insert Interval
  7. c# log4net
  8. VS2017IIS注册
  9. 为什么HierachyViewer无法连接真机调试
  10. html对话框取消确定,alert 确定 取消
  11. 【2019新年计划】
  12. 南京邮电大学网络攻防训练平台-逆向-Py交易
  13. vue单击li变色,点谁谁亮
  14. 中国海洋大学计算机系导师,研究生导师魏志强:中国海洋大学
  15. CAD C#二次开发 圆和圆弧转Polyline线
  16. 海康威视错误代码0xf_技术讨论 看我如何重置海康威视IP摄像机的管理员密码
  17. 市场上到底有多少款手机?(1)
  18. Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐
  19. FEBE恢复Firefox配置方法[Z]
  20. java io 深入浅出

热门文章

  1. 程序人生 | (8) 好的研究想法从哪里来
  2. MYSQL之慢SQL
  3. 安装TortoiseGit后别忘了这一步
  4. c语言文件操作步骤是,文件操作的正确流程,C语言文件操作的函数
  5. Java系列技术之JavaWeb入门-钟洪发-专题视频课程
  6. 世界类脑AI巨系统研究综述,论ET大脑是不是全球首个类脑架构AI
  7. java获取文件电脑路径
  8. 要想提高工作效率,请拒绝做这 7 种事
  9. D. Ela and the Wiring Wizard codeforces 1737D
  10. kaggle竞赛 | 计算机视觉 | Doodle Recognition Challenge