MATLAB图像处理帮助!
我试图找到图像上某些区域的面积 例如,我想在左上侧找到黑色大区域的区域。 我想从图像中找到任何闭合几何体的面积 如何在matlab中实现这一点MATLAB图像处理帮助!,matlab,image-processing,Matlab,Image Processing,我试图找到图像上某些区域的面积 例如,我想在左上侧找到黑色大区域的区域。 我想从图像中找到任何闭合几何体的面积 如何在matlab中实现这一点 我在线查看并尝试了regionprops(),但它没有识别不同的区域。使用“imfilter”过滤图像。使用“fspecial”定义过滤器。然后使用活动轮廓模型分割大对象。谷歌“活动轮廓matlab”。使用“多边形”和“面积”函数查找封闭轮廓的面积 使用“imfilter”过滤图像。使用“fspecial”定义过滤器。然后使用活动轮廓模型分割大对象。谷
我在线查看并尝试了regionprops(),但它没有识别不同的区域。使用“imfilter”过滤图像。使用“fspecial”定义过滤器。然后使用活动轮廓模型分割大对象。谷歌“活动轮廓matlab”。使用“多边形”和“面积”函数查找封闭轮廓的面积 使用“imfilter”过滤图像。使用“fspecial”定义过滤器。然后使用活动轮廓模型分割大对象。谷歌“活动轮廓matlab”。使用“多边形”和“面积”函数查找封闭轮廓的面积 要补充hkf的答案,您可能需要对图像进行一些预处理,使其更易于处理 我认为你在减少噪音方面做得对。你的轮廓看起来相对容易检测-也许你可以简单地对你的图像进行二值化,应用imdeflate、imclose和imerode的组合来处理伪影(这主要是反复试验),然后尝试检测轮廓
当然,接下来的挑战是找到一个适用于所有图像的配方,而不仅仅是一个样本 要补充hkf的答案,您可能需要对图像进行一些预处理,使其更易于处理 我认为你在减少噪音方面做得对。你的轮廓看起来相对容易检测-也许你可以简单地对你的图像进行二值化,应用imdeflate、imclose和imerode的组合来处理伪影(这主要是反复试验),然后尝试检测轮廓
当然,接下来的挑战是找到一个适用于所有图像的配方,而不仅仅是一个样本 我可以告诉你一些方法: a) 算术平均值过滤器:
f = imfilter(g, fspecial('average', [m n]))
b) 几何平均滤波器
f = exp(imfilter(log(g), ones(m, n), 'replicate')) .^ (1/(m*n))
f = (m*n) ./ imfilter(1 ./ (g + eps), ones(m, n), 'replicate');
c) 调和平均滤波器
f = exp(imfilter(log(g), ones(m, n), 'replicate')) .^ (1/(m*n))
f = (m*n) ./ imfilter(1 ./ (g + eps), ones(m, n), 'replicate');
其中
n
和m
是掩码的大小(对于Instance,您可以设置m=3 n=3
)我可以向您推荐几种方法:
a) 算术平均值过滤器:
f = imfilter(g, fspecial('average', [m n]))
b) 几何平均滤波器
f = exp(imfilter(log(g), ones(m, n), 'replicate')) .^ (1/(m*n))
f = (m*n) ./ imfilter(1 ./ (g + eps), ones(m, n), 'replicate');
c) 调和平均滤波器
f = exp(imfilter(log(g), ones(m, n), 'replicate')) .^ (1/(m*n))
f = (m*n) ./ imfilter(1 ./ (g + eps), ones(m, n), 'replicate');
其中
n
和m
是掩码的大小(对于Instance,您可以设置m=3 n=3
)我认为您可以使用轮廓方法解决此问题。最后,您可以借助轮廓数据提取功能进行提取。研究,你会在Mathworks网站上看到 我想你可以用轮廓法来解决这个问题。最后,您可以借助轮廓数据提取功能进行提取。研究,你会在Mathworks网站上看到 我在mathworks网站上尝试了一些用于活动轮廓绘制的代码。其中一些有效,但我无法获得任何区域,并且对小区域无效!我想先裁剪图片,以消除任何噪音,然后我用imadjust稍微调整对比度。我需要任何例子来更好地理解它。您应该能够使用[C,h]=轮廓(…)提取轮廓的x和y坐标。请参阅,然后查看此链接以找到该区域:活动轮廓与任何其他图像处理方法一样都不是完美的。您必须对模型的参数进行试验,以满足您的需要。另外一个好主意是对活动轮廓方法进行文献搜索,并自己在MATLAB中实现它们。这应该很有趣!我在mathworks网站上尝试了一些用于活动轮廓绘制的代码。其中一些有效,但我无法获得任何区域,并且对小区域无效!我想先裁剪图片,以消除任何噪音,然后我用imadjust稍微调整对比度。我需要任何例子来更好地理解它。您应该能够使用[C,h]=轮廓(…)提取轮廓的x和y坐标。请参阅,然后查看此链接以找到该区域:活动轮廓与任何其他图像处理方法一样都不是完美的。您必须对模型的参数进行试验,以满足您的需要。另外一个好主意是对活动轮廓方法进行文献搜索,并自己在MATLAB中实现它们。这应该很有趣!我喜欢使用imdeplate、imclose和imerode的方法,但是有没有办法消除主形状周围的所有噪音。我的意思是一些物体靠近图像的边界,这会导致问题。我在mathworks的演示中看到了它,但不确定它的名字是什么!这就是我正在制作的图像。我想填充里面的白色区域,平滑边界,消除周围的噪音。我试着用iclose和ierode,并没有真正改变。提前感谢,我喜欢使用imdeplate、imclose和imerode的方法,但是有没有办法消除主形状周围的所有噪音。我的意思是一些物体靠近图像的边界,这会导致问题。我在mathworks的演示中看到了它,但不确定它的名字是什么!这就是我正在制作的图像。我想填充里面的白色区域,平滑边界,消除周围的噪音。我试着用iclose和ierode,并没有真正改变。提前谢谢