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: