MATLAB中的侵蚀

时间:2010-07-07 05:49:07

标签: matlab image-processing

当我将erosion应用于我的图像以找到小球或磁盘形状的对象时,无论我多大程度地改变结构元素的大小,它似乎都不起作用。相反,整个图像看起来有点被结构元素弄脏了。我仍然可以看到物体的位置,但它无法帮助我找到它们。有没有办法改进这种技术?

3 个答案:

答案 0 :(得分:1)

InsertNickHere触及了我认为你的困惑,没有明确解释。听起来你期望用二进制图像侵蚀/扩张/打开/关闭的结果。在典型的灰度图像上执行这些操作将给出您正在获得的行为。

如果可以的话,尝试将图像转换为二进制图像(可能通过阈值处理),然后对其执行形态学操作。

答案 1 :(得分:0)

你应该总是使用开/关。你的侵蚀会“损坏”你想要找到的物体,所以你应该在dilation之后做。这是开/关的。这是一个用于检测图像中“斑点”的小MATLAB程序:

Ib = binary_image // Whatever image
[L, n] = bwlabel(Ib);
RGB = label2rgb(L, 'spring', 'c', 'shuffle');
figure, imshow(RGB);
imwrite(RGB, 'segmented.jpg');
stats  = regionprops(L)

答案 2 :(得分:0)

如果是灰度,您可能需要查看使用过滤器的预处理。