You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用OpenCV开发摄像头人脸识别程序报detectMultiScale错误如何解决

错误原因

核心报错(-215:Assertion failed) !empty()触发原因是人脸级联分类器文件加载为空,本质是文件名拼写错误:你代码中填写的haarcascade_frontal_default.xml不属于OpenCV预置的级联文件,正确的人脸检测级联文件名为haarcascade_frontalface_default.xml,你漏写了中间的face字段。
末尾的terminating async callback是Windows平台下OpenCV调用MSMF摄像头驱动的常规警告,属于退出时的异步资源回收提示,不影响程序核心功能。

修复方案
  • 修正人脸分类器的文件名,将对应加载行替换为:
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
  • (可选)增加分类器加载校验逻辑,提前定位文件加载问题,可在分类器加载代码后补充:
if face_cascade.empty():
    raise IOError("人脸级联分类器加载失败,请检查文件名配置")
if bodie_cascade.empty():
    raise IOError("人体级联分类器加载失败,请检查文件名配置")
  • (可选)消除摄像头警告,修改摄像头初始化参数,指定使用DirectShow驱动:
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

内容的提问来源于stack exchange,提问作者ritesh bhakta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:57:04