gray

更新时间:2022-12-31 18:25:32 阅读: 评论:0


2022年12月31日发(作者:百度在线英语翻译)

灰度图形态学运算知识点总结gray-scalemorphology

⼀般,结构元素B是flat.

1.腐蚀

f以正⽆穷⼤扩边,选取B覆盖f区域中的最⼩值.

2.膨胀

f以负⽆穷⼤扩边,选取B覆盖f区域中的最⼤值.

3.开运算

先腐蚀后膨胀.

开运算会抑制⼩size的⽩点(⾼灰度对象).

4.闭运算

先膨胀后腐蚀.

闭运算会填充⼩size的⿊洞(低灰度对象).

5.腐蚀,膨胀,开,闭的⼀维仿真

四种运算的仿真代码:

输出:

%%灰度图形态学运算

clc;cloall;clear;

x=1:600;

y=2*sin(0.01*x)+sin(0.02*x)+sin(0.04*x);

SELen=51;%oddnumber

SE=ones(1,SELen);

%%腐蚀运算

y_erosion=nan(size(y));

fori=1:length(y)

h=max(1,i-floor(SELen/2));

t=min(length(y),i+floor(SELen/2));

y_erosion(i)=min(y(h:t));

end

%%膨胀

y_dilation=nan(size(y));

fori=1:length(y)

h=max(1,i-floor(SELen/2));

t=min(length(y),i+floor(SELen/2));

y_dilation(i)=max(y(h:t));

end

%%开运算

y_open=y_erosion;%先腐蚀后膨胀

fori=1:length(y_erosion)

h=max(1,i-floor(SELen/2));

t=min(length(y_erosion),i+floor(SELen/2));

y_open(i)=max(y_erosion(h:t));

end

%%闭运算

y_clo=y_dilation;%先膨胀后腐蚀

fori=1:length(y_dilation)

h=max(1,i-floor(SELen/2));

t=min(length(y_dilation),i+floor(SELen/2));

y_clo(i)=min(y_dilation(h:t));

end

figure;plot(x,y,'r-',x,y_erosion,'g-',x,y_dilation,'b-');

xlabel('点序号');ylabel('灰度值');legend('原曲线','腐蚀','膨胀');

figure;plot(x,y_open,'r-',x,y_clo,'b-');

xlabel('点序号');ylabel('灰度值');

legend('开','闭');

注意:闭运算曲线开头处,是⼀段⽔平线,没有和原曲线重合.和DIP书中不⼀致.

使⽤Matlab的内置函数验证⼀下:

结果和上⾯的完全⼀致.

6.形态学平滑

a.对于噪声灰度⾼于背景灰度的情形,先开后闭.因为开运算会抑制⼩size的⽩点(⾼灰度对象).或者连续地先开后闭运算,SE逐渐增⼤.

b.对于噪声灰度低于背景灰度的情形,先闭后开.因为闭运算会填充⼩size的⿊洞(低灰度对象).也可以连续操作.

7.形态学梯度

膨胀减去腐蚀.

-hat

原图减去开运算

-hat

闭运算减去原图.

top-hat和bottom-hat可以⽤于移除背景,校正不均匀光照.

可以作为分割的前处理.

%%内置灰度形态运算

clc;cloall;clear;

x=1:600;

y=2*sin(0.01*x)+sin(0.02*x)+sin(0.04*x);

SELen=51;%oddnumber

SE=strel('line',50,0);

%%imerodeimdilate

y_imerode=imerode(y,SE);

y_imdilate=imdilate(y,SE);

%%imclo闭运算

y_imclo=imclo(y,SE);

%%imopen开运算

y_imopen=imopen(y,SE);

%%plot

figure;plot(x,y,'r-',x,y_imerode,'g-',x,y_imdilate,'b-');

xlabel('点序号');ylabel('灰度值');legend('原曲线','imerode','imdilate');

figure;plot(x,y_imopen,'r-',x,y_imclo,'b-');

legend('imopen','imclo');

10.粒度分析Granulometry

统计相同形状不同size的粒⼦位置和数量.

a.先做形态平滑.

b.使⽤逐渐增⼤的SE做opening.

c.不同尺度SE的opening结果求差分.

d.差分曲线有较⼤尖峰的地⽅就是提取的相应size的粒⼦.

11.⽂本分割TextualSegment

和粒度分析类似.

a.先⽤闭运算把较⼩的⿊洞填平.SE⼤⼩要合适.

b.使⽤开运算把较⼤⿊洞连成⼀⽚.形成了界限分明的两个区域.

c.使⽤形态梯度算法提取边界.

12.形态学重建

形态学重建运算⽐简单的形态学运算好的地⽅在于:

a.对背景的提取较为完整⼲净.

b.对前景(对象)的保留较为完整.

本文发布于:2022-12-31 18:25:32,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/67075.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:nickel
下一篇:kill什么意思
标签:gray
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图