我想通过边缘检测提取下图(ROI)上的白色区域。我想做这个beacouse我必须得到非常精确的白色区域的面具。图像像这样:
如果我使用matlab的一些内置函数,问题是我也会在白色区域之外(黑色区域和灰色区域之间的边界)获得边缘,所以如果我侵蚀外边缘,我会失去白色区域的角落。双方......
在正确检测到边缘之后,我还必须关闭整个白色区域以获得遮罩......
在第一张图片上计算白色区域遮罩的其他任何建议?我已经尝试过阈值处理,这种方法非常成功......
答案 0 :(得分:0)
如果图像看起来都很容易解决:
Ibw=I>somevaluebiggerthangrey;
然后,如果你想要周边,那么
Iperim=bwperim(Ibw);
你可以找到somevaluebiggerthangrey
的值,因为你的rimage有3种颜色。找到这些颜色的“峰值”(例如结果可能是0, 0.5 and 1
)并在两个峰值之间给出一个值,例如somevaluebiggerthangrey=0.75
。您可以使用histogram
和findpeaks