AttributeError: module 'cv2' has no attribute 'face_LBPHFaceRecognizer'
时间: 2023-11-18 20:03:32 浏览: 159
这个错误信息表明在cv2模块中没有名为'face_LBPHFaceRecognizer'的属性。这可能是因为你使用的是不包含此属性的opencv版本。要解决此问题,你需要安装包含此属性的opencv-contrib库。你可以使用以下命令在终端中安装它:
```python
pip install opencv-contrib-python
```
如果你已经安装了opencv-contrib库但仍然遇到此错误,请确保你的导入语句正确,并且你的代码中没有拼写错误或语法错误。
相关问题
提示 AttributeError: module 'cv2.face' has no attribute 'LBPHFaceRecognizer_create'怎么解决?
这个错误通常是由于你在尝试使用 OpenCV (cv2) 库中的 `LBPHFaceRecognizer_create` 函数,但在当前版本的库中该函数可能已经被移除或者重命名了。解决这个问题有几种方法:
1. **检查库版本**:确认你使用的OpenCV版本是否支持`LBPHFaceRecognizer_create`,如果是旧版,可能需要更新到最新版本。
2. **查阅文档**:查看OpenCV的官方文档或API参考,确认是否有替代的函数或模块处理人脸识别功能。
3. **替换函数**:如果`LBPHFaceRecognizer_create`已不在官方推荐中,你可以尝试使用其他的人脸识别算法,如EigenFace、FisherFace或者Dlib库中的`dlib.face_recognition_model_v1.create()`。
4. **安装特定分支**:有时候,你需要从OpenCV的GitHub仓库下载特定分支,其中包含旧版的功能,但这不是长期解决方案,因为OpenCV会持续更新。
5. **修改代码**:直接在代码中导入正确的函数,例如,如果你应该使用`face_recognizer_create()`而不是`LBPHFaceRecognizer_create()`,那么请改用新的名称。
记得在每次更改后测试你的代码以确保其正常工作。
File "3.py", line 12, in <module> recognizer = cv2.face.LBPHFaceRecognizer_create() AttributeError: 'module' object has no attribute 'LBPHFaceRecognizer_create'
这个错误通常是由于OpenCV版本问题导致的。在OpenCV 4.0及以上版本中,LBPHFaceRecognizer的创建方法已经改变了,应该使用`cv2.face.LBPHFaceRecognizer_create()`。而在OpenCV 3.x版本中,可以使用`cv2.face.createLBPHFaceRecognizer()`。
你可以通过以下代码检查OpenCV版本:
```
import cv2
print(cv2.__version__)
```
如果输出的版本号是4.0及以上,那么你应该使用`cv2.face.LBPHFaceRecognizer_create()`创建对象。如果输出的版本号是3.x,那么你应该使用`cv2.face.createLBPHFaceRecognizer()`创建对象。
阅读全文