opencv:报错解决:cv2.face.LBPHFaceRecognizer_create() 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://docs.opencv.org/4.x/index.html

1.选择自己安装的版本


2.点这里

以face里的LBPHFaceRecognizer函数举例子,找到face点进去再找到LBPHFaceRecognizer点进去,页面如下:往下滑,会出现使用说明,以create()为例子,划线部分就是当前版本的opencv的函数使用方法和名称,出现cv2.face has no attribute 'LBPHFaceRecognizer_create'的朋友们注意啦

好耶,问题解决了

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(1)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年4月25日
下一篇 2023年4月26日

相关推荐