Domanda

Vorrei tenere traccia di un colore in una serie di immagini. Per questo motivo io uso l'algoritmo di sogliatura costante di cui al Introduzione alla Autonomous Robots mobile . Questo metodo segna semplicemente tutti quei pixel che sono tra un minimo e un massimo di soglia rosso, verde, blu (o tonalità, saturazione, valore nel mio caso).

Il mio problema è che - anche se HSV è meno sensibile ai cambiamenti di luce - io ancora vorrei per impostare le soglie da programma a ridurre al minimo il numero di falsi positivi e falsi negativi. In altre parole l'algoritmo dovrebbe garantire che solo un dato insieme di pixel è segnato alla fine, ad esempio un rettangolo un'immagine la taratura.

So che il problema è una ricerca in uno spazio parametrico 6-dimensionale e ho potuto trovare possibili soluzioni ma cerco per l'opinione di altri programmatori ed esperienze su questo argomento.

se quello che conta provo per la sua attuazione in C ++ con OpenCV .

È stato utile?

Soluzione

Per quanto ho capito la domanda si sono alla ricerca di procedura per calibrare 6 soglie (min e max per ognuno dei canali HSV) da un'immagine di calibrazione che contiene il marcatore di monitoraggio . Per raggiungere questo obiettivo lo farei:

  1. prima manualmente delineare il regione , l'immagine di calibrazione in, dove appare il marcatore
  2. calcolare istogrammi di quella regione , uno per ciascuna delle canali HSV
  3. impostare min e max soglie per l'istogramma percentili 0.05 e 0.95 rispettivamente

Non con i valori minimi e massimi dell'istogramma, ma i suoi 0,05 e 0,95 percentili aiuta la misura più robusto al rumore.

Modifica

Una modifica della seconda fase : Se si vuole ridurre al minimo l'errore, si potrebbe stabilire un normilzed istogramma del marcatore e un normalizzato istogramma dell'ambiente (questo può essere 2 immagini separate) e sottrarre quest'ultimo dal primo. L'indicatore istogramma risultante avrà valori di fondo di pixel attenuati. Questo influenzerà i valori dei percentili di cui sopra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top