前提・実現したいこと
Python初心者です。
PythonとOpenCVを用いて、画像から人物検出を行いたいです。
エディタはJupiterを使っています。
発生している問題・エラーメッセージ
error Traceback (most recent call last)
<ipython-input-1-62ad54662838> in <module>
12
13 # 人を検出した座標
---> 14 human, r = hog.detectMultiScale(im, **hogParams)
15
16 # バウンディングボックス
error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\core\src\matrix.cpp:235: error: (-215:Assertion failed) s >= 0 in function 'cv::setSize'
該当のソースコード
import cv2
#処理したい画像を選択
img_name = '3374709_s.jpg'
im = cv2.imread(img_name)
#HoG特徴量の計算
hog = cv2.HOGDescriptor()
#サポートベクタマシンによる人検出
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
hogParams = {'winStride': (8, 8), 'padding': (32, 32), 'scale': 1.2}
#人を検出した座標
human, r = hog.detectMultiScale(im, **hogParams)
#バウンディングボックス
for (x, y, w, h) in human:
cv2.rectangle(im, (x, y),(x+w, y+h),(0,50,255), 3)
#検出した画像を保存
cv2.imwrite('out_default_'+img_name,im)
試したこと
以下のサイトを参考にしました。
「https://betashort-lab.com/画像処理/pythonopencvhogsvmによる人物検出/」
補足情報(FW/ツールのバージョンなど)
エラー内容がわからなくて、たぶんモジュールが足りないということでしょうか?
そうでしたら、何をどうインストールすればいいか教えてほしいです。
アナコンダでインストールしました。
回答1件
あなたの回答
tips
プレビュー