OpenCV - Desenfoque medio

La operación de Desenfoque mediano es similar a los otros métodos de promediado. Aquí, el elemento central de la imagen se reemplaza por la mediana de todos los píxeles en el área del kernel. Esta operación procesa los bordes mientras elimina el ruido.

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

medianBlur(src, dst, ksize)

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.

Ejemplo

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

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

public class MedianBlurTest {
   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 MedianBlur on the Image
      Imgproc.medianBlur(src, dst, 15);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap9/median.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: