【问题标题】:how to identify an object appears homogenously white如何识别物体呈现均匀的白色
【发布时间】:2015-09-04 17:39:40
【问题描述】:

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

原图

椭圆形结构在矩形内

我的分割图像是

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

【问题讨论】:

  • 至少您需要足够好地定义“同质白色”,以便有人理解您的问题。它的一个图像,另一个它不是的例子会有所帮助。另外,我们在这里不是为您解决问题,而是帮助您解决自己的问题。因此,到目前为止,问题需要您的代码,以及您卡在哪里的解释。
  • 那么图片中的这个“椭圆”在哪里?我们已经很难弄清楚那是什么,那么您如何期望创建代码来执行我们自己不知道黄金标准是什么的事情?
  • 您有一个分段(二进制)图像,并且您只想查看这些区域内原始(灰度)图像中像素值的变化?
  • @nkjt 是的,我想检查原始图像分割区域的变化
  • @neil 如何检查对象的均匀白色

标签: matlab image-processing


【解决方案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 这样的内置函数。

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 2020-04-25
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2010-11-29
    • 2013-02-02
    相关资源
    最近更新 更多