2017-08-07 56 views
1

私はpython-3.6でcv2を使って顔検出を学ぼうとしています。OpenCVエラー:Pythonで未知のエラーコード-49

私は本の中のsrcに従っています。

私はすでにピップによってOpenCVの-pythonの(3.2.0)をインストールしている

の.xmlおよび.jpgのファイルのすべてのPythonコードと同じパスにあります。

from numpy import * 
import cv2 

face_cascade = cv2.CascadeClassifier("D:\\Python\\FaceDetec\\lbpcascade_frontalface.xml") 

img = cv2.imread("z1.jpg") 
gary = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 

faces = face_cascade.detectMultiScale(gray, 1.2, 3) 
for(x, y, w, h) in faces: 
    img2 = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 255, 255), 2) 
    roi_gray = gray[y:y+h, x:x+w] 
    roi_color = img[y:y+h, x:x+w] 

cv2.imshow("img", img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
cv2.imwrite("z1.head.jpg", img) 

私はどこにも見つかりませんでした。

OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage, file D:\Build\OpenCV\opencv-3.2.0\modules\core\src\persistence.cpp, l 
ine 4422 
Traceback (most recent call last): 
    File "d:\Python\FaceDetec\Harr_cascade.py", line 6, in <module> 
    face_cascade = cv2.CascadeClassifier("D:\\Python\\FaceDetec\\lbpcascade_frontalface.xml") 
cv2.error: D:\Build\OpenCV\opencv-3.2.0\modules\core\src\persistence.cpp:4422: error: (-49) Input file is empty in function cvOpenFileStorage 

こんにちは。ありがとうございました。

+0

lbpcascade_frontalface.xmlは申し訳ありませんが、私は問題を微https://github.com/opencv/opencv/tree/master/data/lbpcascades –

+1

からダウンロードされます。私はhttp://opencv.org/から.xmlを変更します。 すべては問題ありません。ありがとう –

答えて

0

窓を閉じる前に画像を保存し、 'gary'を 'gray'に修正してください。 このようにコードを変更してください。

from numpy import * 
import cv2 

face_cascade = cv2.CascadeClassifier("D:\\Python\\FaceDetec\\lbpcascade_frontalface.xml") 

img = cv2.imread("z1.jpg") 
gray= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 

faces = face_cascade.detectMultiScale(gray, 1.2, 3) 
for(x, y, w, h) in faces: 
    img2 = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 255, 255), 2) 
    roi_gray = gray[y:y+h, x:x+w] 
    roi_color = img[y:y+h, x:x+w] 

cv2.imshow("img", img) 
cv2.imwrite("z1.head.jpg", img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
関連する問題