使用颜色直方图训练SVM与OpenCV

时间:2014-12-19 01:13:47

标签: python c++ opencv image-processing svm

我对OpenCV很陌生,我想创建使用SVM的简单对象检测器。而不是HOG,我想从我的对象颜色直方图中提取(例如),但我无法找到OpenCV的任何信息,到处都在使用HOG。

我的第二个问题:SVM的Python实现是否比C ++(OpenCV都有)的功能少?

1 个答案:

答案 0 :(得分:2)

您可以使用OpenCV函数calcHist来计算直方图。

calcHist(&bgr_planes[0], 1, 0, Mat(), b_hist, 1, &histSize, &histRange, uniform, accumulate );

其中,

  • & bgr_planes [0]:源数组
  • 1:源数组的数量
  • 0:要测量的通道(暗淡)。在这种情况下它只是 强度所以我们只写0。
  • Mat():要在源数组上使用的掩码
  • b_hist:将存储直方图的Mat对象
  • 1:直方图维度。
  • histSize:每个使用维度的容器数
  • histRange:每个维度要测量的值范围 统一和积累

有关详细信息,请参阅docs

您还可以查看讨论C ++ OpenCV SVM实现的this answer和讨论Python OpenCV SVM实现的this answer