0
点赞
收藏
分享

微信扫一扫

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


思想:

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

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

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

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

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

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

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

我的matlab5个车牌_顶帽_底帽_边缘_腐蚀_数学形态学

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


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

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

车牌还是属于亮的呀。

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

我的matlab5个车牌_顶帽_底帽_边缘_腐蚀_数学形态学_03

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

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

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

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

去除小对象:

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

关于find():​​javascript:void(0)​​

是彩色:

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

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

不是彩色:

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

我的matlab5个车牌_顶帽_底帽_边缘_腐蚀_数学形态学_08

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结果:

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

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结果:

我的matlab5个车牌_顶帽_底帽_边缘_腐蚀_数学形态学_10

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结果:

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

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结果:

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

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结果:

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

OK!

举报

相关推荐

0 条评论