我正在尝试聚类一组图像,我的问题在于使用opencv中的Kmeans2参数。我不确切知道如何形成Kmeans2的点输入以进行聚类。
我在这做什么:
samples = CreateMat ( samples_len,1,CV_32FC2)
labels = CreateMat ( samples_len,1,CV_43SC1)
index = 0
for name in imglist :
img = LoadImage ('someting')
sample[index] = img
index += 1
我得到的错误是:密钥长度与数组维度不匹配 那怎么解决呢?
任何帮助将不胜感激
问候。
答案 0 :(得分:0)
Kmeans2
只接受二维输入数据,因此除非您的图像只有2个像素,否则此方法将无效。您需要编写自己的聚类算法来处理更高维度的dagta,或者编写一个将图像映射到只有2个点的函数(例如图像灰度版本的均值和方差)。无论如何,“聚类”图像通常是一个非常困难的问题。