[英]MATLAB image processing HELP!
我正在尝试查找图像上某些区域的面积。
替代文字http://img821.imageshack.us/img821/7541/cell1.jpg
例如,我想在左上角找到深色区域的区域。 我想从图像中找到任何闭合几何的面积。
我如何在Matlab中做到这一点。
我在网上查看并尝试了regionprops(),但无法识别不同的区域。
使用“ imfilter”过滤图像。 使用“ fspecial”定义过滤器。 然后使用活动轮廓模型分割大对象。 谷歌“活动轮廓matlab的”。 使用“多边形”和面积函数查找封闭轮廓的面积。
我可以为您推荐几种方法:
a)算术均值滤波器:
f = imfilter(g, fspecial('average', [m n]))
b)几何均值滤波器
f = exp(imfilter(log(g), ones(m, n), 'replicate')) .^ (1/(m*n))
c)谐波均值滤波器
f = (m*n) ./ imfilter(1 ./ (g + eps), ones(m, n), 'replicate');
其中n
和m
是掩码的大小(对于instace,您可以设置m=3 n=3
)
我认为您可以使用轮廓方法来解决此问题。 最后,您可以借助轮廓数据提取功能进行提取。 研究后,您将在Mathworks网站上看到它。
为了增加hkf的答案,您可能需要对图像进行一些预处理,以使其更易于处理。
我认为您在降低噪音方面正处于正确的轨道上。 您的轮廓看起来相对容易检测-也许您可以简单地对图像进行二值化处理,应用imdilate,imclose和imerode的组合来处理伪像(这主要是反复试验),然后尝试检测轮廓。
然后,当然,挑战在于找到一种适用于所有图像而不只是一个样本的配方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.