AttributeError: 'cv2.FaceRecognizerSF' object has no attribute 'read'
时间: 2023-06-22 22:35:30 浏览: 174
`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 中的人脸识别器类。
阅读全文