1

我有一些经验Opencv。我想对图像的颜色进行聚类。

例如,如果我将下图聚类:

我应该得到 6 个集群,每个集群都有一个集群名称作为它们的 RGB 值以及它们的位置(x,y)

世界大陆

有没有办法使用Opencv或任何开源包来做到这一点也可以。我对 Java 和 C 很满意。如果您想了解更多详细信息,请发表您的评论。

4

3 回答 3

0

看看cvBlobLib,它是 OpenCV 的补充

于 2011-11-30T09:26:36.593 回答
0

这些链接可能会有所帮助:

Mathworks:使用 K-means 聚类的基于颜色的分割

通过 RGB 聚类进行分割

于 2011-11-30T07:04:29.963 回答
0

对于这个特定的图像(有 6 个簇,每种颜色)。我的意思是不存在两个具有相同颜色的集群。我想我们只需要找到中心点。

1)我们可以使用Point来存储像素的位置。新点(宽度,高度)。

2)然后我们需要确定,哪些像素有哪些颜色。通过遍历所有像素,我们还可以获得颜色/簇的数量。

3)对于每种颜色/簇,我们需要计算中心点,通过计算具有该颜色的所有像素/点的平均值。

于 2014-08-07T03:13:57.500 回答