【问题标题】:opencv -215:Assertion failed while trying to print face coorrdenatesopencv -215:尝试打印面部坐标时断言失败
【发布时间】: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) 时,它可以正常工作
  • “它有效”是指显示图像?请使用完整的回溯更新问题。然后,删除图像。
  • 是的,图像被转换为​​灰色并显示

标签: python opencv


【解决方案1】:

请检查训练文件的名称:
haarcascade_frontface_default haarcascade_frontalface_default ?

还有你的 xml 文件在哪里?再次检查它的路径。

项目文件夹
-script.py
-xml 文件
-im.jpg

import sys
import cv2

pth=sys.path[0] # Returns the "ProjectFolder" path
cs= cv2.CascadeClassifier(pth+'/haarcascade_frontalface_default.xml')

im=cv2.imread(pth+'/im.jpg')
gry= cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

data = cs.detectMultiScale(gry)
print(data)

cv2.waitKey()

它在我的情况下运作良好:

[[ 91 303 573 573]]

【讨论】:

  • 路径正确但我忘了写“al”
猜你喜欢
  • 2019-12-04
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 2021-10-09
相关资源
最近更新 更多