来自上一个链接:
Working with an specific region generated by BoundingBox
以下代码基于它
se = strel('disk',9);
p_mask=imerode(Ic(BB,1).Image,se);
k_mask=imdilate(p_mask,se);
Ipointer=I2.*repmat( k_mask , [1 1 3]);
figure,imshow(Ipointer)
Mch=Ic(BB,1).Image-k_mask;
Mbch=bwareaopen(Mch,3000);
Ichaplet=I2.*repmat( Mbch , [1 1 3]);
figure,imshow(Ichaplet)
所以,我不明白
答案 0 :(得分:1)
se是你的结构元素。这里定义为半径为9的磁盘 http://de.mathworks.com/help/images/ref/strel-class.html
你的二进制图像被侵蚀,然后扩张(称为开放) https://en.wikipedia.org/wiki/Opening_(morphology)
假设白色被认为是前景(我只能猜测没有你的图像)打开将删除小白点。侵蚀通过在轮廓周围啃咬来缩小一切。如果你吃了足够的东西就吃洞穴对象了:)扩张会调整那些没有被完全侵蚀的物体。膨胀会在轮廓周围添加像素。
bwareaopen将删除小于3000像素的连接组件 http://de.mathworks.com/help/images/ref/bwareaopen.html
我确定你可以自己弄明白其余部分!