基于直方图的Weka图像分类

时间:2012-02-07 18:35:53

标签: matlab image-processing histogram weka arff

我正在进行基于直方图的图像检索项目,我需要比较一组图像的学习算法。因此,在MATLAB中,我将图像(256x256像素)转换为HSV,将其量化为8(H),3(S),3(V)并创建加权和,即256x256矩阵。

我想使用这个矩阵(数据集中的所有图像)来创建一个ARFF文件,而我现在陷入困境。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果我理解你做了什么,你把图像作为输入(256x256 RGB矩阵)并将其转换为256x256矩阵,其中每个位置是HSV值的加权和。

但是,如果你想提取一个颜色直方图(在这种情况下,它是Weka的适当输入),你应该有一个矢量作为输出,其中每个条目是给定H的像素数的计数,S和L值。

由于H(0到7)有8个不同的值,S(0到2)有3个,L(0到2)有3个,因此向量V应该有8 + 3 + 3 = 14个条目。要计算V,请使用以下算法:

Input: quantized HSL image I
Output: histogram V

for each pixel p in I:
   V[p.H] = V[p.H] + 1             // Increment the count for the H component.
   V[7 + p.S] = V[7 + p.S] + 1     // Increment the count for the S component.
   V[10 + p.L] = V[10 + p.L] + 1   // Increment the count for the L component.

return V