我想保存一个已经在多张图像上进行训练的分类器,以避免每次我运行程序时都要花费时间来对其进行重新训练。对于sklearn的分类器,我可以使用pickle.load
对其进行腌制,但是当我尝试执行相同的操作时,出现以下错误:
这是分类器本身:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
clf = cv2.face.LBPHFaceRecognizer_create()
img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)
# detecting face using haarcasade
face = face_cascade.detectMultiScale(img, minNeighbors = 3)
# detecting region of interest and appending it to a separate matrix
for x, y, w, h in face:
roi = img[y:y+h, x:x+w]
x_train.append(roi)
y_train.append(label)
clf.train(x_train, y_train)
有什么办法可以保存此类分类器?
最佳答案
您可以将此类分类器另存为.yml
文件。
例如:
clf.save('trainingData.yml')
您可以使用以下命令加载相同的内容:
clf.load('trainingData.yml')
关于python-3.x - 如何保存openCV分类器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51840367/