Saltar al contenido

PHP/GD: mejor desenfoque gaussiano

Siéntete en la libertad de compartir nuestra web y códigos en tus redes, necesitamos tu ayuda para aumentar esta comunidad.

Solución:

Después de encontrarme con el mismo problema, apliqué el mismo filtro varias veces, y cada vez al recurso resultante de la llamada “imagefilter” anterior. Obtuve el efecto ‘más borroso’ que estabas buscando.

p.ej:

for ($x=1; $x<=15; $x++)
   imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);

Puedes probar la convolución:

$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 es una matriz, entonces matemáticamente es

[[1, 2, 1],
 [2, 4, 2],
 [1, 2, 1]]

puede encontrar otros filtros de convolución en: http://aishack.in/tutorials/image-convolution-examples/

imageconvolution( , , , );

así que del código de arriba 1+2+1+2+4+2+1+2+1 = 16 la suma de la matriz. http://www.php.net/manual/en/function.imageconvolution.php#97921 es un buen truco para obtener la suma del divisor.

consulte http://php.net/manual/en/function.imageconvolution.php para obtener más información sobre esta función.

el buen desenfoque a la moda es (1,2,1),(2,1,2),(1,2,1)

EDITAR:
como se indica a continuación, puede ejecutar cualquier filtro más de una vez en la salida resultante para mejorar también el efecto.

Tengo muy buenos resultados con el siguiente código basado en esta solución:

    for ($i = 0; $i < 25; $i++) 
        if ($i % 10 == 0) //each 10th time apply 'IMG_FILTER_SMOOTH' with 'level of smoothness' set to -7
            imagefilter($tmp_dst_image, IMG_FILTER_SMOOTH, -7);
        
        imagefilter($tmp_dst_image, IMG_FILTER_GAUSSIAN_BLUR);
    

Cuando se aplica suave después de varios desenfoques, ofrece un efecto de desenfoque muy bueno. Puedes experimentar con el siguiente número en el código: 25, 10, -7.

Ver también: Cómo medir la velocidad del código escrito en PHP

Comentarios y valoraciones del tutorial

Si conservas algún titubeo y forma de progresar nuestro división eres capaz de ejecutar una explicación y con mucho placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *