環境
Windows 10
Anacondaを使用
python 3.6.6
Package Version
astroid 2.0.1
certifi 2018.8.24
chainer 4.3.1
colorama 0.3.9
cycler 0.10.0
filelock 3.0.4
isort 4.3.4
kiwisolver 1.0.1
lazy-object-proxy 1.3.1
matplotlib 2.2.3
mccabe 0.6.1
numpy 1.15.1
opencv-python 3.4.3.18
Pillow 5.2.0
pip 18.0
protobuf 3.6.0
pylint 2.0.0
pyparsing 2.2.0
python-dateutil 2.7.3
pytz 2018.5
setuptools 40.2.0
six 1.11.0
typed-ast 1.1.0
wheel 0.31.1
wincertstore 0.2
wrapt 1.10.11
発生している問題・エラーメッセージ
File "ai.py", line 70, in <module> minSize=(100,100)) cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1698: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
該当のソースコード
python
1import cv2 2import sys 3from PIL import Image 4import matplotlib.pyplot as plt 5import numpy as np 6 7#入力ファイルのパスを指定 8in_jpg = "./photo/face.jpg" 9out_jpg = "./face.jpg" 10 11#入力画像の表示 12plt.show(plt.imshow(np.asarray(Image.open(in_jpg)))) 13 14# 画像の読み込み 15image = cv2.imread(in_jpg) 16 17# グレースケールに変換 18image_gs = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 19 20# 顔認識用特徴量ファイルを読み込む --- (カスケードファイルのパスを指定) 21cascade = cv2.CascadeClassifier("./haarcascades/haarcascade_frontalface_alt.xml") 22#cascade = cv2.CascadeClassifier("./haarcascades/haarcascade_eye.xml") 23# 顔認識の実行 24face_list = cascade.detectMultiScale(image_gs, 25 scaleFactor=1.1, 26 minNeighbors=1, 27 minSize=(100,100)) 28 29if len(face_list) > 0: 30 # 認識した部分を赤色で囲む 31 print(face_list) 32 color = (0, 0, 255) 33 for face in face_list: 34 x,y,w,h = face 35 cv2.rectangle(image, (x,y), (x+w, y+h), color, thickness=3) 36 # 描画結果をファイルに書き込む 37 cv2.imwrite(out_jpg, image) 38 39else: 40 print("no face") 41 42#出力画像の表示 43plt.show(plt.imshow(np.asarray(Image.open(out_jpg)))) 44
試したこと
他の似たようなウェブサイトのソースコードも同じエラーメッセージが来ました。
補足情報(FW/ツールのバージョンなど)
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/10 08:58
2018/09/10 09:01
2018/09/10 09:01