【发布时间】:2020-07-07 19:48:21
【问题描述】:
我正在输入此代码进行人脸检测:
import cv2
face_cascade = cv2.CascadeClassifier('venv/Lib/site-
packages/cv2/data/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('venv/Lib/site-packages/cv2/data/haarcascade_eye.xml')
img = cv2.imread('Documents\Face detection\face1.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_color = img[y:y + h, x:x + w]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
但是当我运行这段代码时,它给出了这个错误:
Traceback(最近一次调用最后一次): 文件“C:/Users/Nisha/Documents/Face detection/Face detection.py”,第 9 行,在 灰色 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
请详细说明我如何消除此错误或说明任何更改或说明任何不会产生错误的替代代码,我也可以完成我的工作。实际上,我是 IT 新手,所以我在小代码中产生了很多错误,所以请指导我,以便我继续前进。
【问题讨论】:
-
您传递给
cvtColor-img的Mat为空或格式错误。检查路径,它似乎无效。
标签: python opencv face-detection