当前位置:   article > 正文

opencv:报错解决:cv2.face.LBPHFaceRecognizer_create() AttributeError: module ‘cv2‘ has no attribute ‘face_attributeerror: module 'cv2' has no attribute 'fac

attributeerror: module 'cv2' has no attribute 'face

前面的废话

可以直接跳过这一段):真的很激动啊,这个问题我搞了至少两个小时。先让我描述一下这个过程当我在b站上学习了opencv的人脸识别:读取图片、图片灰度化、修改图片尺寸、绘制矩形框、检测单or多张人脸、检测视频中的人脸都没有问题时!我卡在了训练数据这一块。当然在运行之前有进行过pip install opencv-contrib-python,但是!一运行程序,会产生这样的报错recognizer=cv2.face.LBPHFaceRecognizer_create() AttributeError: module 'cv2' has no attribute 'face' 常见的办法就是 卸载、重装、卸载、重装,反复使用下面的命令,但是对我来说并没有什么卵用。然后找到了一些其他原因:函数名因为版本变化被修改了、opencv3.4.4(没有匹配python3.9的)版本之后的有些函数有专利限制,在阅读了opencv官方文档后,发现cv2还是有face的,与报错并不符合。在降低python版本(很可怕的)和配置虚拟机(也很可怕)我看到了一个使用opencv4.5以上的人脸识别文章,尝试安装了4.5.4.58版本的opencv,最后能用了!!!版本真的很***

win+r cmd 管理员:
pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip install opencv-python
pip install opencv-contrib-python
或许对有些人有用,但是不适合我,其他人可以试试

报错前的环境和配置

python 3.9
vscode
opencv-python 4.7.0.72
opencv-contrib-python 4.7.0.72

报错信息

语句: recognizer=cv2.face.LBPHFaceRecognizer_create()
报错:AttributeError: module ‘cv2’ has no attribute ‘face’
报错解释:cv2中没有face模块
补充:cv2.face has no attribute 'LBPHFaceRecognizer_create’是因为函数名修改了,如何查看当前版本使用的函数名,本文下面有提到

解决办法

win+r cmd 管理员
pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip install opencv-python==4.5.4.58

pip install opencv-contrib-python==4.5.4.58
安装慢的话,可以加上镜像

pip install opencv-python==4.5.4.58 -i https://pypi.tuna.tsinghua.edu.cn/simple

pycharm的话,可以看看编译器setting的包有没有opencv-contrib和opencv包,好像有的要手动点击 加号 添加包。

耶!我解决了!好开心!!!
下面附上如何选择版本和opencv官方文档的阅读食用教程:
选择版本:https://www.lfd.uci.edu/~gohlke/pythonlibs/
opencv官方文档地址:https://docs.opencv.org/4.x/index.html

1.选择自己安装的版本
打开https://www.lfd.uci.edu/~gohlke/pythonlibs/,往下找到OpenCV部分
红框依次表示opencv版本为4.5.5,对应python版本3.9,对应环境为windows 64位。
在这里插入图片描述
在上面选择好版本下载后,打开opencv官网查看对应版本的函数使用。
首先在箭头处选择好版本。
在这里插入图片描述
2.点如图位置
在这里插入图片描述
以face里的LBPHFaceRecognizer函数举例子,找到face点进去再找到LBPHFaceRecognizer点进去,页面如下:在这里插入图片描述往下滑,会出现使用说明,以create()为例子,划线部分就是当前版本的opencv的函数使用方法和名称,出现cv2.face has no attribute 'LBPHFaceRecognizer_create'的朋友们注意啦
在这里插入图片描述

好耶,问题解决了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/280280
推荐阅读
相关标签
  

闽ICP备14008679号