如何使用matlab平滑图像中找到的边缘

时间:2016-07-16 18:15:46

标签: matlab image-processing edge-detection

如何使用matlab平滑下面图像中的两行?所以它看起来像2条平滑的曲线。

Edge

我尝试使用imdilate和imclose functon,如下所示

 imdilate(im_edge,strel('disk', 2))
 imclose(im_edge,strel('square', 2))

但是边缘会变得减少或像素变得更近

1 个答案:

答案 0 :(得分:1)

我试图找到一种让它看起来像曲线的方法 我认为在正确的方向上使用形态学操作 形态学操作的例子:

扩张:

I = imread('Rx1wSm.jpg');
se = strel('disk',3);
J = imdilate(I, se);

enter image description here

接近:

se = strel('disk',3);
J = imclose(I, se);

enter image description here

以阈值结束:

se = strel('disk',3);
J = imclose(I, se);
J(J > 50) = 255;
J(J<50)=0;

enter image description here

Matlab支持更多的形态学操作 在Matlab命令窗口中键入doc bwmorph以查看文档。

仍有改进的余地,但你需要找一位更好的专家。