recognizer = cv2.face.EigenFaceRecognizer_create() AttributeError: module 'cv2' has no attribute 'face'
时间: 2023-06-22 11:47:00 浏览: 381
这个错误通常是因为您的OpenCV版本不支持面部识别模块(cv2.face)导致的。您可以尝试更新OpenCV版本或使用其他面部识别库。如果您正在使用较旧的OpenCV版本,则可以通过使用以下命令安装带有face模块的OpenCV版本来解决此问题:
```
pip install opencv-contrib-python
```
这将安装带有face模块的最新版本的OpenCV。如果问题仍然存在,请检查安装的OpenCV版本是否支持面部识别模块。
相关问题
line 25, in <module> recognizer = cv2.face.LBPHFaceRecognizer_create() AttributeError: module 'cv2' has no attribute 'face'
在第25行遇到 `AttributeError: module 'cv2' has no attribute 'face'` 这个错误,意味着您尝试导入的cv2模块中并没有名为`face`的属性。在OpenCV 4.x版本中,人脸识别的部分已经被迁移到了`cv2.face_recognition`模块下,而不是直接的`cv2.face`。解决这个问题,您应该将`LBPHFaceRecognizer_create()`替换为`cv2.face_recognition.createLBPHFaceRecognizer()`。这是修改后的代码示例:
```python
import cv2
recognizer = cv2.face_recognition.createLBPHFaceRecognizer()
```
确保您的OpenCV安装包含了面部识别的相关功能。如果还没安装,您可以安装额外的面部识别包,例如`opencv-contrib-python-headless`,然后重新加载库。记得更新导入语句:
```bash
pip install opencv-contrib-python-headless
```
重新导入并确认是否解决了该问题:
```python
import cv2
# ...其他代码...
```
AttributeError: module 'cv2' has no attribute 'LBP'
AttributeError: module 'cv2' has no attribute 'LBP'是由于cv2模块中没有名为LBP的属性导致的错误。可能是因为您的OpenCV版本过低或者您没有正确安装OpenCV的LBP模块。要解决此问题,您可以尝试以下方法之一:
1. 检查OpenCV版本:确保您的OpenCV版本是3.3或更高版本。您可以使用以下代码来检查版本:
```python
import cv2
print(cv2.__version__)
```
如果版本过低,您可以尝试升级OpenCV到最新版本。
2. 安装LBP模块:如果您的OpenCV版本正确,但没有LBP模块,您可以尝试重新安装OpenCV并包含LBP模块。您可以按照OpenCV官方文档中的指南进行安装,并确保在编译时选择了LBP模块。
3. 导入正确的模块:如果您已经安装了正确的OpenCV版本,并且LBP模块存在,那么请确保您正确导入了所需的模块。例如,使用以下代码导入LBP模块:
```python
from cv2 import face
recognizer = face.LBPHFaceRecognizer_create()
```
这样可以确保您正确使用LBP模块中的函数和类。
阅读全文