开发人脸识别考勤系统遇OpenCV报错:module 'cv2' has no attribute 'face'
解决OpenCV中
cv2.face模块不存在的问题 针对你遇到的AttributeError: module 'cv2' has no attribute 'face'错误,以下是针对性的排查和解决步骤:
确保OpenCV主包与contrib包版本完全一致
OpenCV的人脸识别模块(包括LBPHFaceRecognizer_create)仅在opencv-contrib-python中提供,且必须和主opencv-python包版本严格匹配。执行以下命令安装指定版本:pip install opencv-python==4.8.1 opencv-contrib-python==4.8.1排查Python环境冲突
- 确认当前运行代码的Python环境与安装包的环境一致:
运行pip --version查看pip对应的Python路径,再运行python --version核对是否为同一环境。 - 查看已安装的OpenCV包:
执行pip list | findstr opencv(Windows)或pip list | grep opencv(Linux/macOS),确保opencv-python和opencv-contrib-python都存在且版本均为4.8.1。
- 确认当前运行代码的Python环境与安装包的环境一致:
彻底重装清理缓存
如果之前安装过不同版本的OpenCV,先彻底卸载再重装:pip uninstall opencv-python opencv-contrib-python -y pip cache purge pip install opencv-python==4.8.1 opencv-contrib-python==4.8.1验证模块可用性
在Python交互环境中执行以下代码验证:import cv2 print(cv2.__version__) # 检查face模块是否存在 if hasattr(cv2, 'face'): from cv2.face import LBPHFaceRecognizer_create print("模块可用") else: print("face模块仍未找到")
内容的提问来源于stack exchange,提问作者Mohammed Thawfiq
相关产品推荐
相关产品推荐

