2017-07-03 11 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を参照してください。

関連する問題