代码报错AttributeError: module 'cv2.face' has no attribute 'LBPHFaceRecognizer_create'
时间: 2023-11-24 14:52:17 浏览: 235
根据你提供的引用内容,报错"AttributeError: module 'cv2.face' has no attribute 'LBPHFaceRecognizer_create'"是因为cv2模块中没有名为'face'的子模块,也没有名为'LBPHFaceRecognizer_create'的属性。这可能是因为你使用的是较新版本的OpenCV,而该版本中的函数名已经发生了变化。
要解决这个问题,你可以尝试以下两种方法:
1. 查看当前版本使用的函数名:你可以使用以下代码来查看当前版本中可用的函数名:
```python
import cv2
print(cv2.__version__)
```
这将打印出当前安装的OpenCV版本。然后,你可以在OpenCV的官方文档中查找相应版本的函数名。
2. 使用适用于你的版本的函数名:根据你提供的引用,你已经成功安装了opencv-contrib-python。在较新版本的OpenCV中,'LBPHFaceRecognizer_create'函数的名称可能已经发生了变化。你可以尝试使用以下代码来创建一个人脸识别器:
```python
import cv2
# 创建人脸识别器
recognizer = cv2.face.LBPHFaceRecognizer_create()
```
请注意,根据你的OpenCV版本,函数名可能会有所不同。因此,建议你查看当前版本的函数名或参考OpenCV的官方文档以获取准确的函数名。
相关问题
AttributeError: module 'cv2.face' has no attribute 'LBPHFaceRecognizer_create'
这个错误是因为在你的代码中,使用了`cv2.face`模块中的`LBPHFaceRecognizer_create()`方法,但是`cv2.face`模块并不包含这个方法。 解决这个问题的方法是使用`cv2.face.LBPHFaceRecognizer_create()`的替代方法。你可以尝试使用`cv2.face.createLBPHFaceRecognizer()`来创建LBPH人脸识别器。这个方法在较新版本的OpenCV中被引入,并且可以替代原来的方法。 这样你就可以解决这个错误了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [解决cv2没有face模块](https://blog.csdn.net/GorGor__/article/details/125243863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
AttributeError: module ‘cv2.face’ has no attribute ‘LBPHFaceRecognizer_create’
这个错误是由于 OpenCV 的版本问题引起的。在较新的版本中,`cv2.face` 模块中的 `LBPHFaceRecognizer_create` 方法已被弃用。
解决方案是使用 `cv2.face.LBPHFaceRecognizer_create()` 方法的替代方法,即 `cv2.face.LBPHFaceRecognizer_create()`。请确保你的 OpenCV 版本较新,或者可以尝试下面的代码来解决问题:
```python
recognizer = cv2.face.LBPHFaceRecognizer_create()
```
这样应该可以解决你遇到的问题。如果问题仍然存在,请确保你的 OpenCV 版本正确安装并检查模块导入的正确性。