opencv cascade.detectMultiScale创建错误:(-215)!empty()

时间:2017-11-16 12:46:24

标签: python opencv opencv3.0 opencv3.1

我正在关注this教程以了解haar功能。在编写以下代码时:

import numpy as np
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
img = cv2.imread('Sachin.jpeg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

收到以下错误:

File "<ipython-input-6-0b479e459b0f>", line 1, in <module>
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    error: /home/travis/miniconda/conda-bld/conda_1486587069159/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp:1639: error: (-215) !empty() in function detectMultiScale

(Sachin是我从谷歌下载的图片,大小为(237,237,3),转换为灰色后为(237,237),min = 23,max = 210.我使用opencv 3.1.0和python 3.6,已安装使用命令 conda install -c menpo opencv3 。我正在尝试this解决方案但无法在我的桌面找到xml文件。如何解决问题。

2 个答案:

答案 0 :(得分:3)

您需要为Haar Cascade指定XML文件的完整路径。

在Ubuntu 16.04上,可以在/usr/share/opencv/haarcascades

中找到这些文件

答案 1 :(得分:1)

您应该与xml文件位于同一目录中。希望这有帮助!