Ci sono un sacco di cose che vanno avanti nella rimozione degli occhi rossi Detection
A. Eye
B. Regione Red Eye Mapping
C. Colore riempimento
D. Fuzz
E. opaco
Il mio consiglio
Se non è un lavoro per Jquery e perfino PHP non rimuovere gli occhi rossi in modo efficace
Probabile Soluzione
Ottenere uno script di selezione Jquery area in cui gli utenti possono selezionare il loro colore rosso occhi di loro stessi (Con questo si sarebbe in grado di ottenere la regione (X1, Y1, X2, Y2, Altezza, Larghezza) esempio http://odyniec.net/projects/imgareaselect/
Hai un semplice selettore colori in cui possono selezionare il colore di sostituzione ??? Predefinito può essere nero
inviare richiesta a imagemagick
utilizzando exec
in PHP per la rimozione degli occhi rossi
Non è possibile trasmettere la vostra immagine ...
EDIT 1
Sono stato in grado di aiutarti a ottenere uno strumento da riga di comando pronto per questo JOB
http://www.fmwconcepts.com/imagemagick/index.php http://www.fmwconcepts.com/imagemagick/redeye/index.php
base Concetto
A. Creare una copia Togli saturazione dell'immagine in ingresso
B. Eseguire una sfocata floodFill per creare un'immagine maschera
C. Composizione originale con l'immagine desaturato utilizzando l'immagine della maschera
D.Applicare un'operazione di chiusura morfologica per riempire il foro speculare nella maschera e quindi creare un'operazione di differenza per creare una nuova maschera del solo foro
E. Applicare la nuova maschera per comporre il risultato precedente con una piena leggerezza, a zero la versione saturazione dell'immagine originale
processo Esempio
convert -quiet -regard-warnings "$infile" +repage "$tmpA1"
convert $tmpA1 -modulate $light,$sat,100 $tmpA2
proc=""
for ((i=0; i<np; i++)); do
proc="$proc matte ${pairArray[i]} floodfill"
done
convert $tmpA5 -fuzz $fuzz% -fill none -draw "$proc" \
-fill "rgba(255,255,255,1)" +opaque "rgba(0,0,0,0)" \
-fill "rgba(0,0,0,1)" -opaque "rgba(0,0,0,0)" \
-alpha off -negate $tmpA3
if [ "$dilate" = 0 ]; then
dilation=""
else
dilation="-morphology dilate disk:$dilate"
fi
convert $tmpA1 $tmpA2 $tmpA3 -compose over -composite $tmpA2
convert $tmpA3 \(+clone -morphology close disk:$rad $dilation \) \
-compose difference -composite -auto-level \
-negate -threshold 0 -negate $tmpA4
convert $tmpA2 \($tmpA1 -modulate 100,0,100 \) $tmpA4 \
-compose over -composite $outfile
Spero che questo aiuta
Grazie
:)
Questa è una cosa molto banale che stai cercando di fare. – ThiefMaster
+1 per ambizione. : D – marue
: D. Quindi dovrei lasciare che PHP esegua l'elaborazione e mostri solo il risultato? – unni