【发布时间】:2021-08-17 12:48:20
【问题描述】:
我无法打印面部坐标并出现错误
该代码在该行之前运行良好。我尝试通过多种方式修复它,例如使用位置而不是图片名称。
import cv2
trained_face_data= cv2.CascadeClassifier('haarcascade_frontface_default.xml')
# the source pic
img=cv2.imread('D:\\opencv\\CUTE 2.png')
#img=cv2.imread('CUTE 2.png')
#convert to gray
Gray_img= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_coordinates = trained_face_data.detectMultiScale(Gray_img)
#showng an image
#cv2.imshow('Clever Programmer Face Detector', Gray_img)
print(face_coordinates)
# wait to excute
cv2.waitKey()
错误消息是 cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-sn_xpupm\opencv\modules\objdetect\src\cascadedetect.cpp:1689: 错误: (-215 :Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
错误的原因是什么?
【问题讨论】:
-
您确定
Gray_img不是None?顺便说一句,避免将错误消息发布为图像。在此处复制并粘贴它们。 -
当我执行 cv2.imshow('Clever Programmer Face Detector', Gray_img) 时,它可以正常工作
-
“它有效”是指显示图像?请使用完整的回溯更新问题。然后,删除图像。
-
是的,图像被转换为灰色并显示