/ / अजगर में स्मृति में OpenCV ऑब्जेक्ट को सहेजना - अजगर 3.x, opencv, अचार

पाइथन में स्मृति में ओपनसीवी ऑब्जेक्ट को सहेजना - पायथन-3.x, ओपनसीवी, अचार

मैं OpenCV लाइब्रेरी और पायथन भाषा का उपयोग करके फिशर फेस एल्गोरिथ्म का उपयोग कर एक फेस रिकग्निशन मॉडल का प्रशिक्षण दे रहा हूं।

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

मैं इस मॉडल को फ़ाइल / मेमोरी में सहेजना चाहता हूं। दूसरे शब्द में मैं "फिशरफेस" ऑब्जेक्ट को सहेजना चाहता हूं। मैंने इस ऑब्जेक्ट को उपयोग करके सहेजने के लिए अचार मॉड्यूल की कोशिश की है इस। मैं इस वस्तु को अचार नहीं बना पा रहा हूं और न नीचे रख पा रहा हूं।

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)

क्या कोई ऐसा तरीका उपलब्ध है जो फिशर फेस एल्गोरिथ्म के लिए प्रशिक्षित मॉडल को बचाता है और चेहरे की पहचान के लिए उसी मॉडल को लोड करके अन्य स्थान पर उपयोग करता है?

उत्तर:

जवाब के लिए 0 № 1

FaceRecognizer वर्ग में एक बचत विधि है, जो डिस्क में एक xml / yml फ़ाइल संग्रहीत करता है जिसे लोड विधि से लोड किया जा सकता है।

यहाँ वर्ग विधि सूची है।

तो, आपको करने में सक्षम होना चाहिए

fisherFace.save("model.xml")

फाइल करने के लिए मॉडल को बचाने के लिए। https://docs.opencv.org/3.0-last-rst/modules/face/doc/facerec_api.html