如何计算2ndArray中的距离?

时间:2012-06-25 14:57:33

标签: java algorithm opencv javacv

对于某些图片分析,我正在寻找一种有效的算法来计算从某些(x,y)-Point到数组中具有相同值的另一个点的距离。

我想用它来检测包含相同颜色的大区域。有人有想法吗?

例如,我有以下矩阵,想要检测顶部的左方块。

  [0 255 255 0 0  ]
  [0 255 255 0 0  ]
  [0 255 0   0 0  ]
  [0 0   0   0 255]

1 个答案:

答案 0 :(得分:1)

您可以将矩阵视为图表。将每个单元视为一个节点。如果两个相邻单元具有相同的值,则假设这些单元之间存在连接。找到图中所有连接的组件,然后找出最大的连通组件。

另一个非常相关的方法是Region Growing算法。想法是使用递归来访问给定种子像素的所有近邻节点。因此,在您的情况下,如果您可以提供具有给定颜色的一个种子点,则算法将能够找到从给定点构建的所有区域。这可能是一个起点,您可以尝试使用区域增长作为基础方法来寻找最大区域。