Implementazione algoritmo reinex.
-
20-12-2019 - |
Domanda
Ho bisogno di implementare algoritmo retinesso retinex e multiscalzi singola scala in c #,
Ho cercato un po 'ma non ho trovato alcun utile progetti di pratica e artilze con il codice
Come ho capito correttamente dovrei:
Soluzione
Guarda: http://www.fer.unizg.hr/ipg/resources/color_constancy
Questi algoritmi sono modifiche dell'algoritmo reinesso (con miglioramento della velocità) sebbene l'autore abbia dato loro nomi divertenti :)
C'è un codice fonte completo (C ++, ma è scritto molto bene).
Altri suggerimenti
Ci scusiamo per la necro-post, ma sembra che ci sia un errore nel passaggio 3 della tua procedura che può ingannare qualcuno che passa.
Per applicare la correzione, si desidera dividere l'immagine di origine dalla copia filtrata Gauss, non il kernel gaussiano stesso.Approssimativamente, in pseudo-codice:
I_filtered(x,y) = G(x,y) * I(x,y)
I'(x,y) = log(I(x,y) / I_filtered(x,y))
.
e quindi applicare la fusione di I'(x,y)
al tipo numerico richiesto (uint8
, poiché posso fare riferimento dal post originale).
Più su quell'argomento può essere trovato in Questo documento :
.
Ri(x, y) = log(Ii(x, y)) − log(Ii(x, y) ∗ F(x, y))
dove
Ii
L'immagine di input è sul canale di colore i-th,Ri
L'immagine in uscita reinex è sull'i-th Channel eF
è la funzione surround normalizzata. .