recognizer = cv2.face.createLBPHFaceRecognizer() recognizer.load('./trainner/trainner.yml')
时间: 2024-03-20 16:39:44 浏览: 12
在CV 3.x版本中,`cv2.face.createLBPHFaceRecognizer()`方法可以用来创建LBPHFaceRecognizer对象。所以你可以使用以下代码来读取训练好的模型:
```
recognizer = cv2.face.createLBPHFaceRecognizer()
recognizer.load('./trainner/trainner.yml')
```
这个代码将创建一个`cv2.face_LBPHFaceRecognizer`对象,然后使用`load()`方法从文件中读取训练好的模型。
相关问题
File "3.py", line 9, in <module> recognizer.read('./trainner/trainner.yml') AttributeError: 'cv2.face_LBPHFaceRecognizer' object has no attribute 'read'
这个错误是由于`cv2.face_LBPHFaceRecognizer`对象没有`read()`方法导致的。在OpenCV 4.0及以上版本中,LBPHFaceRecognizer的`read()`方法已被移除。相应的,使用`read()`方法的代码应该改为使用`cv2.face.load()`方法。你可以使用以下代码:
```
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.load('./trainner/trainner.yml')
```
这个代码将创建一个`cv2.face_LBPHFaceRecognizer`对象,然后使用`load()`方法从文件中读取训练好的模型。
AttributeError: 'cv2.FaceRecognizerSF' object has no attribute 'read'
`cv2.FaceRecognizerSF` 类是 OpenCV 2 版本中的人脸识别器类,它并不具有 `read()` 方法。如果你需要从磁盘上读取训练好的人脸识别模型,可以使用 OpenCV 3 中的人脸识别器类 `cv2.face.LBPHFaceRecognizer_create()` 或 `cv2.face.EigenFaceRecognizer_create()` 或 `cv2.face.FisherFaceRecognizer_create()`。
以下是使用 `cv2.face.LBPHFaceRecognizer_create()` 类加载人脸识别模型的示例代码:
```python
import cv2
# 创建人脸识别器对象
recognizer = cv2.face.LBPHFaceRecognizer_create()
# 从文件中读取训练好的人脸识别模型
recognizer.read('path/to/your/trained_model.yml')
```
如果你使用的是 OpenCV 2 版本,你可以使用 `cv2.createLBPHFaceRecognizer()` 函数创建人脸识别器对象,并使用 `load()` 方法加载训练好的人脸识别模型。以下是一个示例代码:
```python
import cv2
# 创建人脸识别器对象
recognizer = cv2.createLBPHFaceRecognizer()
# 从文件中加载训练好的人脸识别模型
recognizer.load('path/to/your/trained_model.yml')
```
需要注意的是,OpenCV 2 中的人脸识别器已经被 OpenCV 3 中的人脸识别器替代,因此建议尽可能使用 OpenCV 3 中的人脸识别器类。