首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >OpenCV错误:未知错误代码-49

OpenCV错误:未知错误代码-49
EN

Stack Overflow用户
提问于 2017-08-07 17:04:24
回答 3查看 6.1K关注 0票数 6

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

我遵循书中给出的src。

我已经通过pip安装了opencv-python(3.2.0)

.xml和.jpg文件都与python代码在同一路径中。

代码语言:javascript
复制
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)

我收到一个错误,我在任何地方都找不到。

代码语言:javascript
复制
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

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

EN

回答 3

Stack Overflow用户

发布于 2018-08-09 04:35:42

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

票数 3
EN

Stack Overflow用户

发布于 2017-12-19 00:33:26

你应该保存图像,然后再关闭window.And修复'gary‘到’灰色‘。像这样修改你的代码。

代码语言:javascript
复制
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()
票数 0
EN

Stack Overflow用户

发布于 2020-11-09 01:58:58

我也遇到了同样的错误,这是因为您使用单击鼠标右键并"Download as...“的方法下载了模型。如果打开该文件,您将看到XML结构是错误的。它应该是这样开始的:

代码语言:javascript
复制
<?xml version="1.0"?>
<!--
number of positive samples 3000
number of negative samples 1500
-->
<opencv_storage>
<cascade type_id="opencv-cascade-classifier">
  <stageType>BOOST</stageType>
  <featureType>LBP</featureType>

因此,您应该在存储库(https://github.com/opencv/opencv/blob/master/data/lbpcascades/lbpcascade_frontalface.xml)中以原始形式打开该文件,然后使用git复制或下载存储库。

即使我的答案是3年后,我也希望它能帮助一些人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45543126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档