我計算了顏色圖像上的HOGDescriptor
,發現Python和C++,opencv版本,HOG參數和圖像在兩者上都是相同的。 有一個在C++和Python計算上的默認BGR圖像的HOG描述符之間的驚人差異在Python和C++的彩色圖像上計算的描述符差異
再次有,在C++和Python計算上的默認的HOG描述符之間的驚人的差異BGR2RBG圖像。然而,C++似乎遵循推薦的(通過Dalal,Triggs)計算HOG作爲所有三個通道的最大值的方式,BGR和RGB圖像具有相同的HOG描述符這一事實證明了這一點,但Python不會
的圖像的灰度級版本,但是,顯示出類似的(但不相同)描述符值。
HOG參數:
cv::HOGDescriptor hogDescriptor;
hogDescriptor.blockSize = cv::Size(8, 8);
hogDescriptor.cellSize = cv::Size(4, 4);
hogDescriptor.blockStride = cv::Size(4, 4);
hogDescriptor.nbins = 9;
hogDescriptor.signedGradient = true;
hogDescriptor.winSize = cv::Size(72, 72);
我的問題是,爲什麼會出現在C++和Python實現之間如此大的差異,即使Python是隻爲C++版本的包裝?
可能的重複:[用python和C++計算的opencv hog描述符的區別](https://stackoverflow.com/questions/45488186/difference-in-opencv-hog-descriptor-computed-in-python-and-c ),同樣的用戶。 –
@ThomasMatthews。雖然這兩個問題看起來很相似,但它們在計算HOG時提出了不同的問題:opencv在計算同一語言的不同顏色圖像上的HOG時的行爲,以及在不同語言的相同顏色空間中計算HOGs –
說「cv2」Python模塊是「只是一個包裝「是有點虛假。最初的'cv'模塊是,但'cv2'使用numpy類型來計算例如,所以事情總體上會有小的差異(不知道這是否是這裏的實際問題)。 –