python - OpenCV 错误 : Unknown error code -49 in Python

标签 python opencv

我正在尝试使用 cv2 在 python-3.6 中学习人脸检测。

我是按照书上给的src。

我已经通过pip安装了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

请在这方面帮助我。谢谢。

最佳答案

我在这个琐碎的小问题上花费了很多工时。真正的问题是 Open CV 只能使用 Haarcascade XML 文件,这些文件可在 Opencv.org 网站上获得,而不是从 github 上获得

关于python - OpenCV 错误 : Unknown error code -49 in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45543126/

相关文章:

xml - 如何为自定义对象检测创建自己的 Haar 级联分类器?

python - 在同一程序中播种 random 和 numpy.random 的最佳实践

python - 如何从 numpy 数组继承多次

c++ - solvePnP 返回错误结果

Python - 从图像中检测二维码并使用 OpenCV 进行裁剪

c++ - 如何以灰度读入视频文件

c++ - 你能向我解释一下变形方法的这一部分吗(使用 OpenCV、C++ 和 Qt)?

python - 我们有嵌套列表创建字典键作为单词列表以及它们作为值出现的次数

python - 无法使用 os.walk() 找到文件

Python Ctypes - 加载 dll 抛出 OSError : [WinError 193] %1 is not a valid Win32 application