2013-10-22 158 views
3

嗨,我正在使用Opencv,并且我想使用x灵敏度找到图像中最常见的n种颜色。我怎么能这样做?有没有opencv的功能来做到这一点?使用OpenCV在图像中获取最常见的颜色

干杯!

*注意:这不是作业,我只是使用opencv的乐趣!

+2

不知道“x sensitivity”是什么意思,但是你可以尝试用kmeans() – berak

+0

将最显眼的颜色聚簇在一起。比如说,我们想要一个灰色阴影和另一个灰色阴影被归类为相同。 –

+0

有点像用魔杖在油漆中! –

回答

2

我假定“x灵敏度”表示您想定量图像。

你可以cv2.calcHist()来做到这一点。没有量化,直方图将变大(256 * 256 * 256)。 链接到文档有一个例子如何使用calcHist(在C + +中,而不是Python,但它将几乎相同)。获得直方图后,只需搜索具有最大值的单元格。

3

我会将图像转换为HSV颜色空间,然后计算H值的直方图。然后,采取最大值的垃圾箱。

相关问题