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

Hit*_*esh 1 python opencv opencv3.0 opencv3.1

我正在按照教程了解 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)
Run Code Online (Sandbox Code Playgroud)

收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

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

Sun*_*eef 5

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

在 Ubuntu 16.04 上,这些文件可以在/usr/share/opencv/haarcascades.