首页 > 解决方案 > 无法为灰度图像加载 detectMultiScale 方法

问题描述

我正在尝试使用我下载并保存在运行脚本的同一目录中的 haarcascade_frontalface_alt.xml 功能从图像中检测人脸。

尝试使用 detectMutliScale 方法时出现错误。

我打印了图像,将其转换为灰度后看到以下内容

[[[158 131 104]
  [157 130 103]
  [157 130 103]
  ...
  [157 123  93]
  [158 124  95]
  [158 124  95]]..

在运行从 xml 文件中读取 Haar 功能并使用 CascadeClassifier 后,我还尝试打印

打印输出如下:

<CascadeClassifier 000001500B2D91B0>

我正在使用 python 3.7.3 在 Microsoft Windows 10 机器上运行它

import cv2 as cv
original_image = cv.imread('some.jpg')
grayscale_image = cv.cvtColor(original_image, cv.COLOR_BGR2GRAY)
cascade_path = r'\---\Python_Learning\OpenCV\haarcascade_frontalface_alt.xml'
face_cascade = cv.CascadeClassifier(cascade_path)
detected_faces = face_cascade.detectMultiScale(grayscale_image)

我得到的错误如下..

错误:OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1658: 错误: (-215:Assertion failed) !empty() in function 'cv:: CascadeClassifier::detectMultiScale'

标签: opencv

解决方案


推荐阅读