运行Python代码报NameError: name 'FaceDetector' is not defined如何解决?
报错原因
NameError: name 'FaceDetector' is not defined 表示你当前的Python运行环境中没有加载到FaceDetector类的定义,无法直接实例化该类的对象。
解决方案
- 如果你是想用OpenCV实现Haar级联人脸检测,不需要使用
FaceDetector类,直接调用OpenCV原生的CascadeClassifier即可,修改后的代码如下:
import cv2 # 加载haar级联正面人脸检测模型 frontal_cascade_path="../input/haarcascade-frontal-faces/haarcascade_frontalface_default.xml" # 初始化检测器对象 fd = cv2.CascadeClassifier(frontal_cascade_path)
- 如果你明确需要使用
FaceDetector类(比如来自你自定义的工具文件、或者第三方封装库),需要在实例化前先完成类的导入:- 如果是你自己写的类存放在
xxx.py文件中,添加导入语句:from xxx import FaceDetector - 如果是来自第三方库,先确认对应库已经安装,再执行库提供的导入语句即可。
- 如果是你自己写的类存放在
内容的提问来源于stack exchange,提问作者L Prathyusha
相关产品推荐
相关产品推荐

