在face_recognizer.train(target_face.reshape(1, -1), target_label.reshape(1, -1))中报错cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\core\src\matrix.cpp:246: error: (-215:Assertion failed) s >= 0 in function 'cv::setSize'
时间: 2023-07-23 22:11:38 浏览: 165
opencv脸部识别训练结果
这个错误可能是因为 `target_face` 或 `target_label` 的形状不正确导致的。请确保 `target_face` 和 `target_label` 的维度正确。
另外,你可能需要检查一下 `target_face` 和 `target_label` 的数据类型是否正确。`target_face` 应该是一个 numpy 数组,每个元素都是浮点数或整数,代表一个人脸图像的像素值。`target_label` 应该是一个 numpy 数组,每个元素都是整数,代表一个人脸图像的标签。
请使用以下代码检查 `target_face` 和 `target_label` 的形状和数据类型:
```
print(target_face.shape, target_face.dtype)
print(target_label.shape, target_label.dtype)
```
如果输出结果不正确,请检查一下 `target_face` 和 `target_label` 的生成过程,确保没有出错。
另外,你也可以尝试使用其他的人脸识别库,例如 dlib 或 OpenFace,来训练人脸模型。这些库可能更适合你的需求,同时也具有更好的性能和稳定性。
阅读全文