如何识别物体呈现均匀的白色

时间:2015-09-04 06:02:49

标签: matlab image-processing

我有一个分段图像。我需要验证图像中存在的椭圆形结构的强度变化。我需要检查椭圆是否是均匀的白色

原始图片  enter image description here

椭圆状结构在矩形内 enter image description here

我的分段图像是 enter image description here

我想将原始图像(均匀白色)与分割区域进行比较。

1 个答案:

答案 0 :(得分:1)

regionprops非常适合这类任务。您可以将分段二进制图像和原始图像传递给它,以检索每个区域中的像素列表(假设每个区域未连接,如示例图像所示)。这些将以每个区域的n x 1向量的形式出现,作为结构数组返回。

stats = regionprops(BW, I, 'PixelValues'); 

(您可能希望检索regionprops返回的其他值,例如BoundingBoxCentroid,以帮助更轻松地识别哪个像素集属于哪个区域。请参阅文档看看有哪些选择。)。

然后,您可以定义一些统计函数来显示每个区域内的变化,例如,计算每个区域的方差和标准偏差:

for n = 1:length(stats)
    stats(n).var = var(stats(n).PixelValues);
    stats(n).std = std(stats(n).PixelValues);
end

如果您对"强度变化有其他具体定义"记住,那么你需要开发一些计算它的函数,然后调用它而不是内置的varstd