树莓派编译opencv使用人脸识别代码报错

在执行人脸识别的代码的时候,系统报错,如下:
recognizer = cv2.face.LBPHFaceRecognizer_create()
AttributeError: module ‘cv2.face’ has no attribute ‘LBPHFaceRecognizer_create’

查了很多资料,有人说什么pip卸载opencv再重装,有人说直接去github找源码编译,还有人说缺少了opencv-contrib-python,需要pip install opencv-contrib-python,反正只要是你们能在百度上能找到的帖子我都看了就是不行。

我在github上下载了无数个opencv的版本,老的有3.2.0的最新的有4.5.5的,但是都没成功过。

最后皇天不负有心人,我找到了一个博主的说可能你的环境很乱,里面很多个版本,所以你先去创建一个虚拟环境,我也不记得怎么弄了,大家自己去百度能搜到,然后你就会出现tutorial env 这几个字眼,就表示你在虚拟环境中。机缘巧合之下,我又看到另一个博主的代码,他的pip有点不同,多了几个参数,我就试了一下,随便想了一个版本,死马当活马医就是。最后成功了

pip3 install --no-cache-dir opencv-python==4.1.1
pip3 install --no-cache-dir opencv-contrib-python==4.1.1

我之前试过的版本都不行,就4.1.1可以,你知道源码编译一次opencv在树莓派上要多久嘛???好几个小时!!
就是下面这一串东西,我编译了无数个版本,就是不是,这里的4.1.1是我找的哈,当时我肯定没用过4.1.1的这是我从别人那copy过来的,这个方法太费时间,直接上面两行就搞定,大概几分钟吧,慢点的十几分钟,下面这个编译要几个小时!

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.1.1/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON  \
    -D BUILD_EXAMPLES=ON  ..

我这几天把源码起码编译了不下于十次,各种版本都试过了,耗时长还是没解决。最后就用上面两行代码解决了,必须得记录一下,如果后面有人也遇到这个问题,心态炸了的话,不妨按我的试试,我是真的一开始能搜的资料都试过了,没一个可以的。

后面不用虚拟环境我试了一下,直接上面两行代码就可以搞定
记得在命令行上面输入python,进入python后输入

import cv2
cv2.__version__

看看你的版本是不是变成4.1.1
然后你再输入
from cv2 import face
看看有没有报错。没有报错的话没说明你的人脸识别模块基本没问题了。`

最后我还安装了一个叫pillow的东西才能运行我的人脸识别代码,反正后面还会报一个错误,只要你安装了

pip install pillow

就行。对了如果之前安装了opencv,和pillow 什么的麻烦都先先卸载掉,用pip uninstall xxx(你要卸载的东西)
甚至你可以去全局搜索找到含有cv2的目录都给删了,再去执行我上面的代码。这样你的opencv人脸模块那边才能放心安装。

好了有用的话,可以不用吝啬的给我评论一句,让我知道我有帮到你~~,还有有人用树莓派人脸识别遇到问题的话,也可以评论。因为我最近在搞,不知道后面会不会写帖子把整个项目写出来,先挖个坑…

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值