cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv_contrib\modules\face\src\lbph_faces.cpp:362: error: (-210:Unsupported format or combination of formats) Empty training data was given. You'll need more than one sample to learn a model. in f
时间: 2023-07-21 11:20:05 浏览: 173
这个错误通常是由于未能正确加载训练数据集而导致的。在使用 LBPH 人脸识别算法时,您需要确保已经正确加载了训练数据集,并且其中包含了多个训练样本。如果训练数据集中只有一个样本,将无法正确训练模型,因此会出现此错误。
您可以通过检查训练数据集的路径和文件名是否正确来解决此问题。另外,还需要确保训练数据集中包含多个样本,并且这些样本具有正确的标签和图像格式。
如果您使用的是 OpenCV 自带的人脸识别数据集,可以使用以下代码加载数据集并进行训练:
```
import cv2
import os
# Load training data
data_path = "data"
training_data = []
labels = []
for file in os.listdir(data_path):
image = cv2.imread(os.path.join(data_path, file), cv2.IMREAD_GRAYSCALE)
training_data.append(image)
labels.append(int(file.split(".")[0]))
# Create LBPH recognizer and train
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.train(training_data, np.array(labels))
```
请注意,此代码假定您的训练数据集位于名为 "data" 的文件夹中,并且每个图像文件的名称都以其标签开头。如果您使用不同的数据集,请相应地更改代码。
阅读全文