膨胀腐蚀开闭

Posted 你从哪里来?要到哪里去?我又在哪里?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了膨胀腐蚀开闭相关的知识,希望对你有一定的参考价值。

膨胀、腐蚀、开、闭运算是数学形态学最基本的变换。

本文主要针对二值图像的形态学

膨胀:把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔);

B=[0 1 0
      1 1 1
      0 1 0];
A2=imdilate(A1,B);%图像A1被结构元素B膨胀


腐蚀:把二值图像各1像素连接成分的边界点去掉从而缩小一层(可提取骨干信息,去掉毛刺,去掉孤立的0像素); 

%strel函数的功能是运用各种形状和大小构造结构元素
 se1=strel(\'disk\',5);%这里是创建一个半径为5的平坦型圆盘结构元素
 A2=imerode(A1,se1);

开:先腐蚀再膨胀,可以去掉目标外的孤立点

%se=strel(\'square\',5\');%方型结构元素

se=strel(\'disk\',5\');%圆盘型结构元素

imshow(f);%原图像 

title(\'开闭运算原始图像\') 

%运行结果如下:

%开运算数学上是先腐蚀后膨胀的结果
%开运算的物理结果为完全删除了不能包含结构元素的对象区域,平滑
%了对象的轮廓,断开了狭窄的连接,去掉了细小的突出部分
fo=imopen(f,se);%直接开运算
figure,subplot(221),imshow(fo);
title(\'直接开运算\');

闭:先膨胀再腐蚀,可以去掉目标内的孔。

 %闭运算在数学上是先膨胀再腐蚀的结果
 %闭运算的物理结果也是会平滑对象的轮廓,但是与开运算不同的是,闭运算
 %一般会将狭窄的缺口连接起来形成细长的弯口,并填充比结构元素小的洞
 fc=imclose(f,se);%直接闭运算
 subplot(222),imshow(fc);
 title(\'直接闭运算\');

以下参考论文:《数学形态学在图像处理中的应用》

 

以上是关于膨胀腐蚀开闭的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV探索之路:膨胀腐蚀开闭运算

腐蚀膨胀,开闭运算,形态学梯度,顶帽,黑帽

paper 76:膨胀腐蚀开闭运算——数字图像处理中的形态学

getStructuringElement函数以及开闭腐蚀膨胀原理讲解

OpenCV—python 形态学处理(腐蚀膨胀开闭运算边缘检测)

二值形态学——开闭运算