【问题标题】:Histogram Based Image Classification with Weka使用 Weka 进行基于直方图的图像分类
【发布时间】:2012-02-29 05:03:22
【问题描述】:

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

我想使用这个矩阵(数据集中的所有图像)来创建一个 ARFF 文件,我被困在这一点上。任何人都可以帮我解决如何完成吗?

【问题讨论】:

标签: matlab image-processing histogram weka arff


【解决方案1】:

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

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

由于 H 有 8 个不同的值(0 到 7),S 有 3 个(0 到 2),L 有 3 个(0 到 2),所以向量 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

【讨论】:

  • 如果我错了,请纠正我。据我了解,现在我必须忘记加权和,而只考虑量化 H、S 和 V 值的矩阵。然后为 H(0-7)、S(0-2) 和 V(0-2) 的值创建一个包含 14 个元素的向量 V,然后简单地计算有多少像素具有这些值并将其转换为ARFF?
  • 如果你想要正确的颜色直方图。您还可以通过向直方图添加更多 bin 来检查是否可以获得更好的分类准确度(即使用更多 H、S、V 值量化您的图像并创建一个包含 14 个以上元素的向量)。
猜你喜欢
  • 1970-01-01
  • 2016-09-15
  • 1970-01-01
  • 2019-08-06
  • 2012-01-18
  • 2019-11-29
  • 2020-02-16
  • 1970-01-01
  • 2012-06-09
相关资源
最近更新 更多