/ / Ukladanie OpenCV objektov do pamäte v pythone - python-3.x, opencv, pickle

Ukladanie objektu OpenCV do pamäte v python - python - 3.x, opencv, pickle

Trénujem model rozpoznávania tváre pomocou algoritmu Fisher Face pomocou knižnice OpenCV a jazyka Python.

   fisherFace = cv2.face.FisherFaceRecognizer_create()
fisherFace.train(imagefaceList, np.array(labelsIndexList))

Chcem tento model uložiť do súboru / pamäte. Inými slovami chcem uložiť objekt „fisherface“. Skúšal som pickle modul pre uloženie tohto objektu pomocou toto, Nie som schopný tento objekt nakladať a vyberať.

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)

Existuje nejaký spôsob, ktorý uloží vycvičený model pre algoritmus tváre rybárov a použije ho na inom mieste zavedením rovnakého modelu na rozpoznanie tváre?

odpovede:

0 pre odpoveď č. 1

Trieda FaceRecognizer má metódu uloženia, ktorá ukladá súbor xml / yml na disk, ktorý sa dá načítať pomocou metódy načítania.

Tu je zoznam metód triedy.

Mali by ste byť schopní to urobiť

fisherFace.save("model.xml")

Uloženie modelu do súboru. https://docs.opencv.org/3.0-last-rst/modules/face/doc/facerec_api.html