recognizer.read(yml)
时间: 2023-08-23 10:04:59 浏览: 265
`recognizer.read(yml)` 是 OpenCV 中的一个方法,它用于从磁盘上的文件中读取训练好的人脸识别模型。
具体来说,`recognizer` 是一个人脸识别器对象,`read()` 方法将从指定的 `.yml` 文件中读取训练好的模型参数,并将其加载到该人脸识别器对象中,以便使用该模型进行人脸识别。
以下是一个例子:
```python
import cv2
# 创建人脸识别器对象
recognizer = cv2.face.LBPHFaceRecognizer_create()
# 从文件中读取训练好的人脸识别模型
recognizer.read('path/to/your/trained_model.yml')
```
需要注意的是,如果指定的文件不存在或格式不正确,`read()` 方法将会抛出异常。
相关问题
self.recognizer.read("D:\\pythonbase_edu\\pythonProject\\face_detect_project\\training.yml")
这是一个OpenCV中的人脸识别模型读取操作,其中self.recognizer是一个人脸识别器对象,read()方法用于从指定路径读取训练好的人脸识别模型。在这个例子中,模型文件的路径是"D:\\pythonbase_edu\\pythonProject\\face_detect_project\\training.yml"。如果该路径下存在训练好的模型文件,该方法将返回True,否则返回False。
<<请问sleepwatcher是什么?>>
<<如何在Python中使用OpenCV进行人脸识别?>>
<<如何解决在sleepwatcher中运行脚本时的权限问题?>>
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()`方法从文件中读取训练好的模型。
阅读全文