所以我正在做一个小小的个人项目,但是当我尝试创建识别器时,我不断收到此错误。我有opencv-contrib和一切。有谁知道发生了什么?代码发布在下面
import cv2, os
import numpy as np
from PIL import Image
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath)
recognizer = cv2.face.createLBPHFaceRecognizer()
它被最后一行抓住了。我已经尝试重新安装所有模块。不确定还能做什么。奇怪的是它适用于我的笔记本电脑但不适用于我的桌面。它们都具有相同的模块,相同的python版本并运行完全相同的代码。
答案 0 :(得分:17)
有同样的问题。使用:
recognizer = cv2.face.LBPHFaceRecognizer_create()
它适用于我的程序。
答案 1 :(得分:4)
默认pip install opencv-python
中提供的库有一些缺少的模块,因此您需要pip install opencv-contrib-python
答案 2 :(得分:4)
在Windows 7下,我可以通过简单地卸载并重新安装opencv来解决此问题:
pip uninstall opencv-contrib-python
pip install opencv-contrib-python
识别器的调用者:
recognizer = cv2.face.LBPHFaceRecognizer_create()
答案 3 :(得分:2)
尝试通过" python -m pip install opencv-contrib-python"来更新你的opencv。 ps:您必须从Python代表中删除CV2存储库,然后运行此命令(在CMD窗口中),如果它不起作用
答案 4 :(得分:1)
尝试使用它:
import cv2
import os
import numpy as np
from PIL import Image
# Path for face image database
path = 'dataset'
recognizer = cv2.face_LBPHFaceRecognizer.create()
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
答案 5 :(得分:1)
recognizer = cv2.face_LBPHFaceRecognizer.create()
答案 6 :(得分:1)
尝试一下对我有用
pip install --force-reinstall opencv-contrib-python==4.1.2.30
答案 7 :(得分:0)
默认 pip install opencv-python-contrib
中缺少一些用于贡献库的模块,因此您需要 pip install opencv-contrib-python --upgrade
这将下载一个 41.5MB 的文件并将其安装在您的 python 包文件夹中,之后您可以通过简单地首先“导入 cv2”然后输入“print(dir(cv2.face))”进行检查,这将返回一个列表cv2.face 中的属性将包括“createlbphfacerecognizer”
答案 8 :(得分:0)
您正在使用Opencv 3.x,在新版本中已删除了一些模块。您有两种选择: 1.将opencv_contrib模块添加到现有的opencv 3.x版本中。 这是链接https://github.com/opencv/opencv_contrib 2.您可以使用旧版本的Opencv。像opencv 2.4.x
答案 9 :(得分:0)
写
pip install opencv-contrib-python --upgrade
如果给出错误然后 写
pip install opencv-contrib-python --user
它适用于 cv2.face.LBPHFaceRecognizer_create()
答案 10 :(得分:0)
如果您使用的是python3,请使用pip3代替pip:
pip3 install opencv-contrib-python
然后,您可以简单地执行以下操作:
recognizer = cv2.face.LBPHFaceRecognizer_create()
答案 11 :(得分:0)
安装 opencv-contrib-python 解决了该问题。 我只安装了opencv-python,在安装opencv-contrib-python之后,解决了该问题。
pip install opencv-contrib-python
答案 12 :(得分:0)
答案 13 :(得分:0)
即使我使用 Jupyter Notebook 运行代码时,也遇到了这个问题。 如果您在 Jupyter Notebook 上运行它,则将其下载为 pyhton(.py)文件,然后尝试在Anaconda提示符或命令提示符下运行。这为我解决了问题。 谢谢。
答案 14 :(得分:0)
我通过安装以下内容解决了此问题:
sudo pip install opencv-contrib-python
。
然后寻找正确的格式。
python2为默认
基本上,问题在于python3和python2具有不同的代码格式。
recognizer = cv2.face.LBPHFaceRecognizer_create()
这是python2的格式。
recognizer = cv2.face.createLBPHFaceRecognizer()
这是python3的格式
答案 15 :(得分:0)
我用两个命令解决了这个问题:
第一位:sudo pip3 uninstall opencv-contrib-python
第二:sudo python3 -m pip install opencv-contrib-python==3.3.0.9
这解决了我的问题。希望对您有所帮助! 另外,如果您使用的是python2,则将“ pip3”替换为“ pip”,将“ python3”替换为“ python”
答案 16 :(得分:0)
我在运行opencv 3.4.1版本时遇到此问题。这就是我所做的。
规格: Raspberry pi 3B,操作系统:Raspbian,版本:9(Stretch),Python 3,opencv版本3.4.1
在python中检查opencv版本
void LinkedList::insertToFront(const ItemType& val) { Node* temp = new Node(val); if (!tail) tail = temp; // make new node tail if list is empty if (head) { temp->next = head; // point current head towards temp head->prev = temp; } head = temp; } void LinkedList::addToEnd(const ItemType& val) { Node* temp = new Node(val); if (!head) head = temp; // make new node head if list is empty if (tail) { temp->prev = tail; // point current tail towards temp tail->next = temp; } tail = temp; }
import cv2
1)cv2.__version__
*此后,直到安装以下组件,我才能在python中导入cv2。
2)sudo pip install opencv-contrib-python
3)sudo apt-get update
4)sudo apt-get install libhdf5-dev
5)sudo apt-get update
答案 17 :(得分:0)
打开cmd,然后 - > pip install opencv-contrib-python