OpenCV4.7.0报错AttributeError: cv2无face属性,已装opencv-contrib-python仍未解决
解决OpenCV中
cv2.face模块不存在的问题 问题重现
运行基于OpenCV 4.7.0的人脸识别训练代码时,触发错误:
AttributeError: module 'cv2' has no attribute 'face'
已安装opencv-contrib-python但问题未解决。
修复步骤
彻底清理现有OpenCV包:多个OpenCV相关包共存会导致模块加载冲突,先全部卸载:
pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless opencv-contrib-python-headless安装匹配版本的
opencv-contrib-python:确保contrib版本与主OpenCV版本严格一致,4.7.0对应的pip包版本号为4.7.0.72:pip install opencv-contrib-python==4.7.0.72确认Python环境一致性:
- 运行
which python(Mac/Linux)或where python(Windows)查看当前代码运行的Python路径 - 运行
pip --version查看pip对应的Python路径,两者必须完全一致 - 若使用虚拟环境,需确保激活环境后再执行安装和代码运行操作
- 运行
验证模块加载状态:打开Python交互终端,输入以下代码确认:
import cv2 print(cv2.__version__) print(hasattr(cv2, 'face'))若输出为
4.7.0和True,说明模块已正常加载。
Conda环境补充方案
如果使用Conda管理环境,替换为以下命令:
conda uninstall -y opencv opencv-contrib conda install -c conda-forge opencv-contrib-python=4.7.0
内容的提问来源于stack exchange,提问作者Sashu Ponnaganti
相关产品推荐
相关产品推荐

