赞
踩
(可以直接跳过这一段):真的很激动啊,这个问题我搞了至少两个小时。先让我描述一下这个过程当我在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.58pip 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'
的朋友们注意啦
好耶,问题解决了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。