OpenCV - Desenfoque gaussiano

En la operación de Desenfoque gaussiano, la imagen se convoluciona con un filtro gaussiano en lugar del filtro de caja. El filtro gaussiano es un filtro de paso bajo que elimina los componentes de alta frecuencia que se reducen.

Puede realizar esta operación en una imagen utilizando el Gaussianblur() método del imgprocclase. A continuación se muestra la sintaxis de este método:

GaussianBlur(src, dst, ksize, sigmaX)

Este método acepta los siguientes parámetros:

  • src - A Mat objeto que representa la fuente (imagen de entrada) para esta operación.

  • dst - A Mat objeto que representa el destino (imagen de salida) para esta operación.

  • ksize - A Size objeto que representa el tamaño del kernel.

  • sigmaX - Una variable del tipo double que representa la desviación estándar del kernel de Gauss en la dirección X.

Ejemplo

El siguiente programa demuestra cómo realizar la operación de desenfoque gaussiano en una imagen.

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class GaussianTest {
   public static void main(String args[]) {
      // Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

      // Reading the Image from the file and storing it in to a Matrix object
      String file ="C:/EXAMPLES/OpenCV/sample.jpg";
      Mat src = Imgcodecs.imread(file);

      // Creating an empty matrix to store the result
      Mat dst = new Mat();
    
      // Applying GaussianBlur on the Image
      Imgproc.GaussianBlur(src, dst, new Size(45, 45), 0);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap9/Gaussian.jpg", dst);
      System.out.println("Image Processed");
   }
}

Suponga que la siguiente es la imagen de entrada sample.jpg especificado en el programa anterior.

Salida

Al ejecutar el programa, obtendrá el siguiente resultado:

Image Processed

Si abre la ruta especificada, puede observar la imagen de salida de la siguiente manera: