Maltab GUI课程设计——身份证号码识别


课程设计

平台:Matlab App designer

功能实现:ID号码识别

目的:

1.Matlab代码编写能力进阶;
2.掌握图像形态学操作和图像相似度匹配
3.学会利用Matlab GUI设计图形交互界面,开发有趣的应用;

演示:

1.读取图片、图像增强处理、二值化处理及ID号码识别
ID号码识别

2.直接输入ID号码进行信息提取
直接输入ID号码进行信息提取

代码示例:

识别按钮的回调函数:

[m,n,~]=size(app.Pic);%图像的像素为width*height
%%%%%蓝色字体变黑
myI=double(app.Pic);
I=app.Pic;
for i=1:m
    for j=1:n
        if((myI(i,j,1)>=15)&&(myI(i,j,1)<=130)&&((myI(i,j,2)<=165)&&(myI(i,j,2)>=90))&&((myI(i,j,3)<=220)&&(myI(i,j,3)>=135))) % 蓝色RGB的灰度范围
            I(i,j,1)=40; %红色分量
            I(i,j,2)=40; %绿色分量
            I(i,j,3)=40; %蓝色分量
        end
    end
end
%图像边缘裁剪掉
width=round(0.9*n);height=round(0.85*m);
rx=round(0.05*n);cy=round(0.075*m);
I=subim(app,I,height,width,rx,cy);
%倘若是彩色图,先转换成灰度图
if sum(size(I)>0)==3
    I=rgb2gray(I);
end

x=3;%行数分为x部分
y=1;%列数分为y部分
BW=erzhihua(app,I,x,y);

[n,m,~]=size(BW);%图像的像素为m*n
c = [0.65*m 0.65*m m m];
r = [0 0.85*n 0.85*n 0];
BW = roifill(BW,c,r);

BW=imadjust(BW);%使用imadjust函数对图像进行增强对比度
% Convert to BW
threshold = graythresh(BW);
BW =~im2bw(BW,0.6*threshold);

[~,image_w]=size(BW);
% 去除掉面积小于(imagen/80)像素的白色区域
app.Bw = bwareaopen(BW,floor(image_w/80));
imshow(app.Bw,'parent',app.UIAxes_3);

欢迎交流

WX: wwggdd22

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值