Python搭建人脸识别系统遇报错:cv2.face无LBPHFaceRecognizer属性
解决AttributeError: module 'cv2.face' has no attribute 'LBPHFaceRecognizer'的问题
嘿,我来帮你搞定这个人脸识别训练时的报错!你遇到的这个问题其实很常见,根源在于OpenCV的人脸识别模块并不在默认的安装包里——LBPHFaceRecognizer这类工具属于OpenCV的扩展功能,需要单独安装opencv-contrib-python包才能使用。
结合你的环境(Python 3.6.1 + Anaconda 4.4),给你一套针对性的解决步骤:
第一步,检查扩展包是否安装:
打开Anaconda Prompt(或者终端),先激活你的Anaconda环境(如果用了虚拟环境的话),然后输入命令:conda list opencv如果输出里只有
opencv-python,没有opencv-contrib-python,那就是缺这个关键包了。第二步,安装适配版本的扩展包:
因为你的Python是3.6版本,要选支持Python3.6的opencv-contrib-python版本,推荐安装3.4.2.16,这个版本和你的Anaconda 4.4兼容性很好。输入命令:pip install opencv-contrib-python==3.4.2.16如果安装时遇到权限报错,就加上
--user参数,安装到用户目录:pip install --user opencv-contrib-python==3.4.2.16第三步,重启IDLE再运行代码:
安装完成后,一定要关掉当前的IDLE窗口重新打开,然后再运行你的人脸识别训练代码,这时候cv2.face.LBPHFaceRecognizer()应该就能正常调用了。
内容的提问来源于stack exchange,提问作者Muralidharan sekar
相关产品推荐
相关产品推荐

