我的matlab5个车牌_顶帽_底帽_边缘_腐蚀

思想:

以第一个为例,因为其他的就是调整了一些参数。具体思想并没有改变。

顶帽操作,与底帽操作:参考,轻点

高帽变换和低帽变换是数学形态学中重要的运算形式,有形态学中最基本的运算如膨胀、腐蚀组合实现。

高帽变换是通过利用原始图像与原始图像开操作的结果图像进行图像减操作实现的;

而低帽变换是通过原始图像闭操作的结果图像与原始图像进行图像减操作实现的。

高帽变换具有高通滤波的特性,适用于处理具有暗背景、亮物体特征的图像。

低帽变换能够检测图像中的谷值,适用于处理具有亮背景、暗物体特征的图像。


顶帽:取出亮度高的地方。

底帽:取出亮度低的地方。

车牌还是属于亮的呀。

利用:bw=im2bw(gth,0.6);分离出来比较亮的部分!

因为数字,边缘特征比较明显,我们就利用边缘函数edge()进行边缘提取处理。

先腐蚀【90度线条腐蚀】,然后再膨胀回来【注意别粘连在一起】

去除小对象:

关于find():https://blog.csdn.net/weixin_42859280/article/details/88765993

是彩色:

rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

不是彩色:

rr=f(min(r):max(r),min(c):max(c));
figure,imshow(rr)

rr=f(min(r):max(r),min(c):max(c),:);RGB图像就要这样切割。【具体为啥,我也不知道呀!】

其他四个,就不说啦。原理都一样,具体做法大同小异啦。

car1代码:

clear,clc,close all;
f=imread('c1.jpg');imshow(f)
g=rgb2gray(f);figure,imshow(g);
gth=imtophat(g,strel('disk',18));
figure,imshow(gth)

bw=im2bw(gth,0.6);figure,imshow(bw);
bwedge=edge(bw);
figure,imshow(bwedge);

bwerode=imerode(bwedge,strel('line',5,90));
figure,imshow(bwerode);
bwdilate=imdilate(bwerode,strel('disk',22));
figure,imshow(bwdilate);
bwao=bwareaopen(bwdilate,20000);
figure,imshow(bwao);
[r,c]=find(bwao);
rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

car1结果:

car2代码:

clear,clc,close all;
f=imread('c2.jpg');
imshow(f)
g=rgb2gray(f);figure,imshow(g);
gth=imtophat(g,strel('disk',12));
figure,imshow(gth)
bw=im2bw(gth,0.2);figure,imshow(bw);
bwedge=edge(bw);
figure,imshow(bwedge);
bwerode=imerode(bwedge,strel('line',5,90));
figure,imshow(bwerode);
bwdilate=imdilate(bwerode,strel('disk',25));
figure,imshow(bwdilate);
bwao=bwareaopen(bwdilate,20000);
figure,imshow(bwao);
[r,c]=find(bwao);
rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

car2结果:

car3代码:

clear,clc,close all;
f=imread('c3.jpg');imshow(f)
g=rgb2gray(f);figure,imshow(g);
gth=imtophat(g,strel('disk',12));
figure,imshow(gth)
bw=im2bw(gth,0.4);figure,imshow(bw);
bwedge=edge(bw);
figure,imshow(bwedge);

bwerode=imerode(bwedge,strel('line',5,90));
figure,imshow(bwerode);
bwdilate=imdilate(bwerode,strel('disk',20));
figure,imshow(bwdilate);
bwao=bwareaopen(bwdilate,10000);
figure,imshow(bwao);

[r,c]=find(bwao);
rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

car3结果:

car4代码:

clear,clc,close all;
f=imread('c4.jpg');figure,imshow(f);
g=rgb2gray(f);figure,imshow(g);
gth=imtophat(g,strel('disk',6));
figure,imshow(gth);

bw=im2bw(gth,0.3);figure,imshow(bw);
bwao=bwareaopen(bw,20);
figure,imshow(cat(2,bw,bwao));

bwedge=edge(bwao);
figure,imshow(bwedge);

bwao=bwareaopen(bwedge,20);
figure,imshow(cat(2,bwedge,bwao));

bwerode=imerode(bwao,strel('line',5,90));
figure,imshow(bwerode);

bwdilate=imdilate(bwerode,strel('disk',25));
figure,imshow(bwdilate);

bwao=bwareaopen(bwdilate,20000);
figure,imshow(bwao);

[r,c]=find(bwao);
rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

car4结果:

car5代码:

clear,clc,close all;
f=imread('c5.jpg');imshow(f)
g=rgb2gray(f);figure,imshow(g);
gth=imbothat(g,strel('disk',18));
figure,imshow(gth)

% gg=g-gth;
% figure,imshow(gg);


bw=im2bw(gth,0.4);
figure,imshow(bw);

bwedge=edge(bw);
figure,imshow(bwedge);

bwerode=imerode(bwedge,strel('line',5,90));
figure,imshow(bwerode);
bwdilate=imdilate(bwerode,strel('disk',30));
figure,imshow(bwdilate);

bwao=bwareaopen(bwdilate,20000);
figure,imshow(bwao);
bwao1=bwareaopen(bwao,40000);
figure,imshow(bwao1);
bwao2=bwao-bwao1;
figure,imshow(bwao2);
[r,c]=find(bwao2);
rr=f(min(r):max(r),min(c):max(c),:);
figure,imshow(rr)

car5结果:

OK!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值