Si può provare convoluzione:
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);
$gaussian
è una matrice, in modo matematicamente E '
[[1, 2, 1],
[2, 4, 2],
[1, 2, 1]]
si possono trovare altri filtri di convoluzione a: http://aishack.in/tutorials/image-convolution-examples/
imageconvolution(<image element>, <convolution matrix>, <divisor (sum of convolution matrix)>, <color offset>);
così da th codice sopra 1+2+1+2+4+2+1+2+1 = 16
la somma della matrice. http://www.php.net/manual/en/function.imageconvolution.php#97921 è un trucco perfetto per ottenere la somma del divisore da .
check out http://php.net/manual/en/function.imageconvolution.php per ulteriori informazioni su questa funzione.
good ol' sfocatura moda è (1,2,1), (2,1,2), (1,2,1)
EDIT: as stated below è possibile eseguire qualsiasi filtro più di una volta sull'output risultante per migliorare anche l'effetto.
non vicino a quello che voglio ma grazie, un altro modo per sfocare più ?? EDIT: sorry non ha letto la tua modifica, esaminando gli esempi, grazie! – SAFAD
sembra come questa matrice: array (2.0, 3.0, 2.0), array (3.0, 6.0, 3.0), array (2.0, 3.0, 2.0) è la matrice più grande che questa funzione può leggere, ho letto che le matrici 5x5 possono fare sfocatura migliore e più forte, qualche idea? – SAFAD
utilizzando la funzione più volte ha dato il risultato che voglio, ma non è la soluzione migliore là fuori * di sicuro * – SAFAD