2017-07-03 26 views
0

我試圖使用哈爾級聯發現上身。 但我仍然沒有得到任何圖像檢測。使用哈爾級聯的上肢身體檢測

import numpy as np 


import cv2 

cascade = cv2.CascadeClassifier('haarcascade_upperbody.xml'); 

imgPath = '/home/ayush/Desktop/images.jpeg'; 
img = cv2.imread(imgPath); 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY); 

body = cascade.detectMultiScale(
    gray, 
    scaleFactor = 1.1, 
    minNeighbors = 5, 
    minSize = (30,30), 
    flags = cv2.CASCADE_SCALE_IMAGE 
) 

for (x, y, w, h) in body: 
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2) 

cv2.imshow('Upper Body',img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 

爲什麼這樣呢? 我正在使用OpenCV3。

+0

嘗試一系列圖像或視頻。它可能不適用於這個圖像。如果您沒有其他圖像,請嘗試將圖像旋轉+/- 15度並嘗試。在這裏發佈你的圖片。最初還要刪除params minSize和flags。當你得到檢測,你可以稍後進行優化。 – harshkn

回答

0

有可能您的scaleFactor太小。我試着準確地運行你的代碼(雖然用我自己的圖片),但在1.1找到沒有結果,但在1.01找到結果。

請參閱here瞭解參數如何影響您的結果。