2014-12-19 117 views
0

我對OpenCV非常陌生,我想創建使用SVM的簡單對象檢測器。而不是HOG,我想從我的對象顏色直方圖中提取(例如),但是我找不到有關OpenCV的任何信息,無處不在使用HOG。使用顏色直方圖訓練支持OpenCV的SVM

而我的第二個問題是:SVM的Python實現是否比C++具有更少的功能(對於OpenCV)?

回答

2

您可以使用OpenCV函數calcHist來計算直方圖。

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

其中,

  • & bgr_planes [0]:源陣列(多個)
  • 1:源陣列的數量
  • 0:信道(DIM)將被測量。在這種情況下,它僅僅是 強度所以我們只寫0。
  • 墊():要在源陣列上使用的掩模
  • b_hist:其中直方圖將存儲
  • 1墊目標:直方圖的維度。
  • HISTSIZE:每次每使用尺寸倉的數量
  • histRange:每每個維度 均勻待測量的值的範圍和積累

參考docs獲得更多信息。

您也可以查看this answer,其中討論了C++ OpenCV SVM實現和this answer,其中討論了Python OpenCV SVM實現入門。

+0

感謝您的回答!而在&bgr_planes我應該把我所有的積極和消極的圖像?之後,我必須教直方圖SVM,我會得到這個功能? – 2014-12-19 06:23:15