File "3.py", line 9, in <module> recognizer.read('./trainner/trainner.yml') AttributeError: 'cv2.face_LBPHFaceRecognizer' object has no attribute 'read'
时间: 2023-12-25 21:22:35 浏览: 37
这个错误是由于`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()`方法从文件中读取训练好的模型。
相关问题
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()`创建对象。
recognizer = cv2.face.createLBPHFaceRecognizer() recognizer.load('./trainner/trainner.yml')
在CV 3.x版本中,`cv2.face.createLBPHFaceRecognizer()`方法可以用来创建LBPHFaceRecognizer对象。所以你可以使用以下代码来读取训练好的模型:
```
recognizer = cv2.face.createLBPHFaceRecognizer()
recognizer.load('./trainner/trainner.yml')
```
这个代码将创建一个`cv2.face_LBPHFaceRecognizer`对象,然后使用`load()`方法从文件中读取训练好的模型。