2015-11-08 58 views
2

我使用OpenCV 2.4 in C++OpenCV:計算整個圖像的單個HOG矢量並獲取塊位置

我有一些圖像,比如360x240(但它不相關),我想計算整個圖像的一個HOG矢量。

  • 有任何短期的方式做到這一點,或者我應該初始化winSizegpu::HOGDescriptor對象等於圖像的大小?

  • 當您使用getDescriptors()方法(或僅與檢測相關的方法相關)時,winSize參數是否與您的參數無關?

  • 是否有一些簡單的方法來告訴矢量中每個塊的圖像座標?

回答

2
  • 設置中winsize是正確的方法。
  • 此參數與getDescriptors()相關,因爲它定義了描述符的大小。首先將大小爲winSize的描述符分成大小爲cellSize的單元格。對於每個單元格,建立一個面向梯度的直方圖。描述符進一步安排在塊中。 A Block使用blockSize.width * blockSize.height雙眼望遠鏡細胞來估計將直方圖標準化爲blockSize.width * blockSize.height細胞組織圖。 blockStride可用於以重疊方式排列塊。最終,爲每個塊估計的所有歸一化直方圖被連接在一起,這定義了最終的描述符向量長度。 here你可以找到一個很好的可視化。所以不同的大小會導致不同的描述符長度。
  • 如果您指的是HoG描述符的位置,則可以使用compute函數的locations屬性。
+0

謝謝你的回答! – SomethingSomething