Difuminar imágenes con -gaussian-blur de ImageMagick

Una de las formas que tiene ImageMagick de difuminar imágenes es el operador -gaussian-blur, que convoluciona la imagen con una distribución gaussiana o normal a partir de un valor sigma dado.

El operador -gaussian-blur admite dos parámetros:

  • Radio -> se usa para determinar el tamaño de la matriz que contendrá la distribución gaussiana. Debería ser un número entero. Si no se proporciona, o se establece en cero, ImageMagick calculará el radio más grande posible que proporcionará resultados significativos para la distribución gaussiana.
  • Sigma -> determina la cantidad real de desenfoque que se aplicará. Es un valor opcional.

Para ver cómo opera -gaussian-blur vamos a crear una imagen con alto contraste y líneas bien definidas para ver muy claramente las modificaciones:

convert -size 200x145 xc:Black -bordercolor White -border 200x100 -bordercolor Black -border 100x50 base_blur.jpg

 

Modificando sólo el radio

Debemos indicar a gaussian-blur mínimo un valor, el radio, ya que si intentamos no indicarle ningún valor, nos genera un error:

convert base_blur.jpg -gaussian-blur gaussian_blur.jpg 

Devuelve:

convert-im6.q16: invalid argument for option `-gaussian-blur': gaussian_blur.jpg @ error/convert.c/ConvertImageCommand/1693.

Pero si indicamos únicamente el valor del radio, no modifica la imagen, independientemente de que el valor indicado sea bajo o  alto:

convert base_blur.jpg -gaussian-blur 5 gaussian_blur_5.jpg 
convert base_blur.jpg -gaussian-blur 50 gaussian_blur_50.jpg 

convert base_blur.jpg -gaussian-blur 5 gaussian_blur_5.jpg

convert base_blur.jpg -gaussian-blur 50 gaussian_blur_50.jpg

Como vemos, aunque no genere un error, con un único valor, gaussian-blur no genera ninguna modificación sobre la imagen. Necesitamos el valor sigma.

 

Modificando radio y sigma

Para modificar radio y sigma lo indicaremos con:

-gaussian-blur $radiox$sigma

Así:

convert base_blur.jpg -gaussian-blur 5x5 gaussian_blur_5x5.jpg 

convert base_blur.jpg -gaussian-blur 5x5 gaussian_blur_5x5.jpg

convert base_blur.jpg -gaussian-blur 5x50 gaussian_blur_5x50.jpg 

convert base_blur.jpg -gaussian-blur 5x50 gaussian_blur_5x50.jpg

convert base_blur.jpg -gaussian-blur 50x5 gaussian_blur_50x5.jpg 

convert base_blur.jpg -gaussian-blur 50x5 gaussian_blur_50x5.jpg

 

convert base_blur.jpg -gaussian-blur 50x50 gaussian_blur_50x50.jpg 

convert base_blur.jpg -gaussian-blur 50x50 gaussian_blur_50x50.jpg

 

Como vemos, para que se genere un difuminado gaussiano, debemos aplicar un par radio-sigma equilibrado, con valores iguales o muy parecidos. Cuanto mayores sean ambos valores, tanto mayor será el difuminado.

 

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.