在尝试练习用CascadeClassifier做人脸截取的时候一直报错,而且是同一个错误:
SystemError: returned a result with an error set
请问大佬这是什么情况?
以下练习代码源自网络
mport cv2
import sys
import os
def getface(img):
path = "E:/deeplearning/haarcascades/haarcascade_frontalface_default.xml"
hc = cv2.CascadeClassifier(path)
faces = hc.detectMultiScale(img)#得到人脸个数以及区域
i=0
while i <len(faces): #对每张脸进行输出
imgROI = img[faces[i][1]:faces[i][1] + faces[i][3], faces[i][0]:faces[i][0] + faces[i][2]]# 前者为高度,后者为宽度
cv2.imshow("face_default", imgROI)#创建窗口显示图片
k = cv2.waitKey(0) # 无限期等待输入
i = i + 1
img = cv2.imread("E:/deeplearning/picture/2.jpg")#jpg放在.py路径下
getface(img)
---------------------------------------------------------------------------
error Traceback (most recent call last)
error: OpenCV(3.4.4) C:\projects\opencv-python\opencv\modules\core\src\persistence_c.cpp:388: error: (-49:Unknown error code -49) Input file is empty in function 'cvOpenFileStorage'
During handling of the above exception, another exception occurred:
SystemError Traceback (most recent call last)
<ipython-input-8-fba8e5a3ccdd> in <module>()
20
21 img = cv2.imread("E:/deeplearning/picture/2.jpg")#jpg放在.py路径下
---> 22 getface(img)
<ipython-input-8-fba8e5a3ccdd> in getface(img)
7 path = "E:/deeplearning/haarcascades/haarcascade_frontalface_default.xml" #分类器类别,路径与.py一致
8
----> 9 hc = cv2.CascadeClassifier(path)#识别分类器
10
11 # 人脸区域探测 裁剪 i可以处理 如果一张图像中多个人脸的情况
SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set