0

我想通过使用边缘检测来提取下图(ROI)上的白色区域。我想这样做是因为我必须得到非常精确的白色区域蒙版。图像看起来像这样:

在此处输入图像描述

如果我使用一些matlab的内置函数,问题是我也会得到白色区域之外的边缘(在黑色区域和灰色区域之间的边界上),所以如果我侵蚀外侧边缘,我会失去两边白色区域的角落。 ..

在此处输入图像描述

在正确检测到边缘后,我还必须关闭整个白色区域以获得蒙版......

在第一张图像上计算白色区域的蒙版还有其他建议吗?我已经尝试过阈值,并且该方法非常成功...

4

1 回答 1

0

如果图像看起来都这样,它看起来很容易解决:

Ibw=I>somevaluebiggerthangrey;

然后,如果你想要周长,做

Iperim=bwperim(Ibw);

您应该能够找到 rimage 的值,somevaluebiggerthangrey因为您的 rimage 显然有 3 种颜色。找到这些颜色的“峰值”值(例如结果可能是0, 0.5 and 1)并给出两个峰值之间的值,例如somevaluebiggerthangrey=0.75。您应该能够使用histogram并且可能自动执行此操作findpeaks

于 2016-11-17T11:53:55.433 回答