如何使用边缘检测提取灰度图像的ROI

时间:2016-11-17 09:39:54

标签: matlab image-processing computer-vision anomaly-detection

我想通过边缘检测提取下图(ROI)上的白色区域。我想做这个beacouse我必须得到非常精确的白色区域的面具。图像像这样:

enter image description here

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

enter image description here

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

在第一张图片上计算白色区域遮罩的其他任何建议?我已经尝试过阈值处理,这种方法非常成功......

1 个答案:

答案 0 :(得分:0)

如果图像看起来都很容易解决:

Ibw=I>somevaluebiggerthangrey;

然后,如果你想要周边,那么

Iperim=bwperim(Ibw);

你可以找到somevaluebiggerthangrey的值,因为你的rimage有3种颜色。找到这些颜色的“峰值”(例如结果可能是0, 0.5 and 1)并在两个峰值之间给出一个值,例如somevaluebiggerthangrey=0.75。您可以使用histogramfindpeaks

自动执行此操作