Opencv calcHist e calcBackProject in inglese semplice


10

ho iniziato a sperimentare con c ++ e opencv perché voglio imparare l'elaborazione delle immagini.

Ora, il mio primo esercizio è creare un rilevatore di pelle con calcHist e calcBackProject .

Ma non capisco poche cose:

  • l'interpretazione statistica del back project e perché è chiamato "back project"
  • ho una buona comprensione di cosa sia il parametro range calcBackProject. Ma sono davvero bloccato con il parametro range in calcHistfunzione.
  • Per una maggiore precisione di rilevamento, penso che potrebbe essere una buona cosa usare il backgrojection su più livelli: in ogni canale di rgb ans in ogni canale di hsv. Ma non so come posso combinare i diversi risultati di calcBackProjectcanali separati di rgb e hsv.

E penso che la mia non buona comprensione sia causata dalla mancanza in teoria di ciò che sto facendo con quei 2 metodi (vedi il primo punto). Quindi, per favore, spiegami in un inglese semplice.


Sono anche molto interessato a questo. Mandami un'e-mail e ne possiamo parlare ancora.
Spacey,

Risposte:


3

Vedi Cos'è Back Projection nei tutorial di openCV

Un istogramma di immagine misura la distribuzione del colore (e della luminosità) dei pixel in un'immagine.

Se scatti un'immagine e identifichi una regione di interesse, ad es. una mano e calcola l'istogramma dei pixel in quell'oggetto.

Quindi prendi quell'istogramma e una seconda immagine e sostanzialmente inverti il ​​processo: scegli i pixel nella seconda immagine che corrispondono all'istogramma dalla prima. È questo processo inverso che gli dà il nome di retroproiezione.

Si suppone quindi che le aree dell'immagine nella seconda immagine che abbiano la stessa distribuzione del colore di un oggetto nella prima immagine siano un'immagine dello stesso (o simile) oggetto.


Le risposte dovrebbero contenere una risposta, non solo un collegamento.
endolito il

@endolith - vero, ma c'è molto senso nel mio scrivere una lunga spiegazione su come usare la retroproiezione in opencv quando hanno un tutorial a riguardo?
Martin Beckett,

"Sicuramente link a un altro sito Web, ma dovresti almeno riassumere i contenuti della pagina a cui ti colleghi." meta.stackexchange.com/a/13370/130885
endolith
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.