Guardando il Histogram Documentation, ci sono 4 (5) diversi metodi di confronto:OpenCV Istogramma metodi di confronto
- CV_COMP_CORRELCorrelazione
- CV_COMP_CHISQRchi-quadrato
- CV_COMP_INTERSECTIntersezione
- CV_COMP_BHATTACHARYYABhattacharyya distanza
- CV_COMP_HELLINGERSinonimo diCV_COMP_BHATTACHARYYA
Tutti danno diverse uscite che vengono letti in modo diverso, come mostrato in Compare Histogram Documentation. Ma non riesco a trovare nulla che dimostri quanto efficacemente ogni metodo si compara l'uno rispetto all'altro. Sicuramente ci sono Pro e Contro per ogni metodo, altrimenti perché avere più metodi?
Anche il OpenCV 2 Computer Vision Application Programming Cookbook ha molto poco da dire sui differnces:
La chiamata alla cv :: compareHist è semplice. Basta inserire i due istogrammi e la funzione restituisce la distanza misurata. Il metodo di misurazione specifico che si desidera utilizzare viene specificato utilizzando un flag. Nella classe ImageComparator, viene utilizzato il metodo di intersezione (con la bandiera CV_COMP_INTERSECT). Questo metodo confronta semplicemente, per ogni bin, i due valori in ciascun istogramma e ne mantiene uno minimo. La misura di somiglianza è quindi semplicemente la somma di questi valori minimi. Di conseguenza, due immagini con istogrammi senza colori in comune otterrebbero un valore di intersezione pari a 0, mentre due istogrammi identici otterrebbero un valore uguale al numero totale di pixel.
Gli altri metodi disponibili sono chi-quadrato (bandiera CV_COMP_CHISQR) che riassume la differenza quadrato normalizzato tra i contenitori, il metodo correlazione (bandiera CV_COMP_CORREL) che si basa sulla normalizzata correlazione incrociata operatore usato nell'elaborazione del segnale per misurare la somiglianza tra due segnali, e la Bhattacharyya misura (bandiera CV_COMP_BHATTACHARYYA) usato in statistica per stimare somiglianza tra due distribuzioni probabilistiche.
Ci devono essere differenze tra i metodi, quindi la mia domanda è cosa sono? e in quali circostanze funzionano meglio?
darei wikipedia un tentativo. È come chiedere se sia meglio misurare una distanza lungo le strade o in linea d'aria ... potrebbe essere necessario capire cosa si vuole misurare. Ma forse c'è davvero una specie di libro di cucina di "quando usare quale metrica di distanza", quindi buona fortuna con la domanda. – Micka
Voglio solo qualche indicazione per le differenze ci sono nei metodi disponibili. – MLMLTL