Addestramento di un DescrittoreCarrello OpenCV può essere un'operazione che richiede molto tempo se l'immagine di addestramento è grande. Sembra quindi che salvare i dati di DescriptorMatcher su disco per ricaricarli in seguito sarebbe una cosa abbastanza ovvia da fare.Salvataggio e caricamento FlannBasedMatcher
Purtroppo non sembra esserci alcuna soluzione ovvia a questa esigenza.
Il più vicino che sono venuto a trovare una risposta è this thread in the OpenCV discussion group. Il thread è iniziato nel 2009 e le persone sono ancora alla ricerca di una risposta nel 2011!
Questo frammento di codice preso da quel filo sembra che dovrebbe ricaricare un indice da un file:
FileStorage fs("data.xml",FileStorage::READ);
Mat data;
fs["mtx"] >> data;
flann::Index idx(data,"index.bin");
Ma non sono stato in grado di capire da questo come implementare completa Salva funzionalità/carico.
Nel caso sia pertinente, sto utilizzando OpenCV 2.3.1.
Nota: a quanto ho capito, i descrittori stessi devono essere serializzati/deserializzati separatamente. Al momento del caricamento, _prior_ per chiamare readIndex, i descrittori devono essere deserializzati e aggiunti (vale a dire, con FlannBasedMatcher :: add). – sircolinton