回溯(最近一次调用最后一次):minSize =(30,30)TypeError:不正确的self类型(必须是'CascadeClassifier'或其派生词)

问题描述 投票:0回答:1

现在这里是代码:

import cv2
import sys


cascPath = "haarcascade_frontalface_default.xml"
cascPath2= "haarcascade_eye.xml"

faceCascade = cv2.CascadeClassifier(cascPath)
eyeCascade=cv2.CascadeClassifier(cascPath2)


image = cv2.imread('face-04.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

faces = faceCascade.detectMultiScale(
     gray,
     scaleFactor=1.1,
     minNeighbors=5,
     minSize=(30, 30)
     )
print("Found {0} faces!".format(len(faces)))

for (x, y, w, h) in faces:

    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)

Face_gray=gray[y:y+h, x:x+w]
Face_color=image[y:y+h, x:x+w]

eyes=eyeCascade.detectMultiScale(Face_gray)

for(ex, ey, ew, eh) in eyes:
    cv2.rectangle(Face_color, (ex,ey),(ex+ew,ey+eh),(0, 255, 0), 2)

cv2.imshow("Faces found", image)

cv2.waitKey(0)
  1. 我已经处理了图像的路径以及XML文件
  2. 我重新安装了该软件
  3. 我无法理解为什么我会遇到这种类型的错误。我试过在另一台电脑上运行相同的代码,它工作正常。
python-2.7 face-detection haar-classifier
1个回答
1
投票

我有同样的问题!

如果要下载用于对象检测的XML文件,请使用位于右上角的“原始”按钮下载它们。然后使用“另存为”并将文件存储在项目目录中。

首先我得到了这个错误,因为我只是“另存为”链接。

© www.soinside.com 2019 - 2024. All rights reserved.