车牌字符提取

本文介绍了一种基于图像处理的车牌数字提取方法,通过腐蚀、膨胀和重构等步骤,有效地从车牌图片中分离出数字,为车牌识别系统提供关键技术支持。

本次主要是对车牌进行提取,将车牌中的数字提取出来,相对较为简单的图像处理,通过简单的腐蚀膨胀即可

原图如下:

 

处理如下:

第一次整体分割:

第二次整体处理如下:

最后效果如下:

 

其代码如下:

i=imread('KPT.jpg');
i=rgb2gray(i);
%i=imadjust(i,[0.3 0.6], [0.1 1], 5);
i=im2bw(i,0.7);
[m,n]=size(i);
%四周置黑
%i=medfilt2(i, [7 7]);
i(1:50,1:n)=0;
i(m-49:m,1:n)=0;
i(1:m,1:50)=0;
i(1:m,n-49:n)=0;
figure(1),subplot(2,2,1),imshow(i),title('after pre-process')

%关键函数:imerode();imreconstruct();imsubtract();
%腐蚀
se=ones(1,71);
marker=imerode(i,se);
figure(1),subplot(2,2,2),imshow(marker),title('第一次腐蚀')
%重构
f_obj=imreconstruct(marker,i);
figure(1),subplot(2,2,3),imshow(f_obj),title('第一次重构')
%相减
f_thr=imsubtract(i,f_obj);
figure(1),subplot(2,2,4),imshow(f_thr),title('第一次相减')
%去除噪声点
%首先先去除大的噪声点,通过先提取出大的噪声点再进行相减
%提取大的噪声点
f1=f_thr;
f1=ordfilt2(f1,1,ones(6,6));% 最小值滤波
se=ones(1,1);
f1=imerode(f1,se);
SE=strel('disk',2);
f2=imerode(f1,SE);
figure(2),subplot(2,2,1),imshow(f1),title('第二次腐蚀')
f3=imreconstruct(f2,f_thr); 
figure(2),subplot(2,2,2),imshow(f3),title('第二次重构')
%通过相减得出小噪声点加上车牌号
f4=imsubtract(f_thr,f3);
figure(2),subplot(2,2,3),imshow(f4),title('第二次相减')
%得出最后车牌号图像
f5=bwareaopen(f4,50);
figure(2),subplot(2,2,4),imshow(f5),title('车牌号')
figure(3),subplot(1,1,1),imshow(f5),title('最终得出图像')

 效果如下所示

 

转载于:https://www.cnblogs.com/zhuhongzhous/p/10307352.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值