【发布时间】:2017-02-26 12:43:09
【问题描述】:
我开始学习一些对象识别,我对openCV 很感兴趣。首先,我尝试了识别你的脸的教程。我安装了 numPy 和 openCV。当我尝试运行下面的程序时,我收到了这个错误:
文件“我的程序的路径\camera.py”,第 4 行,在 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') cv2.错误: D:\Build\OpenCV\opencv-3.1.0\modules\core\src\persistence.cpp:2220: 错误:(-212)haarcascade_frontalface_default.xml(1):有效的 XML 应该 在函数 icvXMLParse 中以 '' 开头
我试图到处寻找这个问题的答案,但我失败了。我发现很多其他人都有这个问题,但解决方案不起作用。我尝试重新安装 python,安装不同的openCV 等。
我的代码在这里:
import numpy as np
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
cap = cv2.VideoCapture(0)
while 1:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
如果有任何帮助,我将不胜感激。
P.S.:我的 xml 程序以 <?xml...?> 开头
【问题讨论】:
-
你能粘贴一小段在这个程序中失败的 xml 吗?
-
haarcascade_frontalface_default.xml , haarcascade_eye.xml 这两个文件。第一个是错误。
标签: python xml opencv face-recognition