【发布时间】:2017-11-09 12:51:15
【问题描述】:
我正在使用 OpenCV 库和 Python 语言使用 Fisher 人脸算法训练人脸识别模型。
fisherFace = cv2.face.FisherFaceRecognizer_create()
fisherFace.train(imagefaceList, np.array(labelsIndexList))
我想将此模型保存在文件/内存中。换句话说,我想保存 'fisherface' 对象。我已经尝试使用this 保存这个对象的泡菜模块。我无法腌制和解开这个对象。代码如下:
class test(object):
def __init__(self, a):
self.a = a
def pickle_test(t):
print('pickling a test instance...')
return test, (t.a,)
copyreg.pickle(test, pickle_test)
t = test(f)
t1 = copy.copy(t)
t2 = pickle.dumps(t)
有没有什么方法可以保存训练好的模型用于fisher人脸算法,并通过加载相同的模型进行人脸识别在其他地方使用它?
【问题讨论】:
-
尝试使用
cv2.FileStorage。 docs.opencv.org/3.3.1/da/d56/classcv_1_1FileStorage.html -
@zindarod 你有没有机会解开它?我正在尝试以相同的方式(stackoverflow.com/questions/55474340/…)保存一个 kp 检测器对象,但是这方面的文档很少。谢谢!
标签: python-3.x opencv pickle