error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
时间: 2023-11-27 14:46:21 浏览: 82
JAVA OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale….
这个错误通常是由于OpenCV的级联分类器文件路径不正确导致的。解决方案是确保文件路径正确,并且级联分类器文件已经下载并存储在正确的位置。以下是一个例子,演示如何使用OpenCV级联分类器检测人脸:
```python
import cv2
# 加载级联分类器文件
face_cascade = cv2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml')
# 读取图像
img = cv2.imread('path/to/image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 在图像中标记人脸
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示图像
cv2.imshow('img', img)
cv2.waitKey()
```
阅读全文