如何从二进制图像的主区域中删除由几个像素连接的小区域?

时间:2019-05-01 06:31:10

标签: image matlab edge-detection image-morphology binary-image

我有以下在分割过程中获得的图像。

enter image description here

我应该使用哪些函数或算法来删除通过很少的像素连接到主分段区域的小区域(用红色圆圈标记)?我知道bwareaopen,但这只能用于删除根本没有连接的区域。

1 个答案:

答案 0 :(得分:0)

im = imread('image.jpg');
BW=rgb2gray(im);
BW=imbinarize(BW);
se = strel('disk',7);
imshow(bwmorph(imclose(BW,se),'thin',10));

此代码产生最接近的结果 enter image description here

之后,您可以应用不同的形态学过程来摆脱不需要的线条。