Python | Desenfoque de imagen usando OpenCV

Imagen borrosa se refiere a hacer que la imagen sea menos clara o distinta. Se realiza con la ayuda de varios núcleos de filtro de paso bajo.

Ventajas de difuminar:

  • Ayuda en la eliminación de ruido. Como el ruido se considera una señal de paso alto, mediante la aplicación del kernel de filtro de paso bajo restringimos el ruido.
  • Ayuda a suavizar la imagen.
  • Se eliminan los bordes de baja intensidad.
  • Ayuda a ocultar los detalles cuando es necesario. Por ejemplo, en muchos casos la policía quiere ocultar deliberadamente el rostro de la víctima, en tales casos se requiere difuminar.

Tipos importantes de desenfoque:

  • Desenfoque gaussiano : el desenfoque gaussiano es el resultado de desenfocar una imagen mediante una función gaussiana. Es un efecto ampliamente utilizado en el software de gráficos, normalmente para reducir el ruido de la imagen y reducir los detalles. También se utiliza como etapa de preprocesamiento antes de aplicar nuestros modelos de aprendizaje automático o aprendizaje profundo.
    Por ejemplo, de un núcleo gaussiano (3 × 3)
      1/16 \quad \begin{bmatrix} 1 & 2 & 1 \\ 2 & 4 & 2\\ 1 & 2 & 1 \\  \end{bmatrix}
  • Desenfoque de mediana: el filtro de mediana es una técnica de filtrado digital no lineal, a menudo utilizada para eliminar el ruido de una imagen o señal. El filtrado de mediana se usa mucho en el procesamiento de imágenes digitales porque, bajo ciertas condiciones, conserva los bordes mientras elimina el ruido. Es uno de los mejores algoritmos para eliminar el ruido de sal y pimienta.
  • Desenfoque bilateral: un filtro bilateral es un filtro de suavizado no lineal, que conserva los bordes y reduce el ruido para las imágenes. Reemplaza la intensidad de cada píxel con un promedio ponderado de los valores de intensidad de los píxeles cercanos. Este peso se puede basar en una distribución gaussiana. Por lo tanto, los bordes afilados se conservan mientras se descartan los débiles.

A continuación se muestra el código de Python:

# importing libraries
import cv2
import numpy as np
  
image = cv2.imread('C://Geeksforgeeks//image_processing//fruits.jpg')
  
cv2.imshow('Original Image', image)
cv2.waitKey(0)
  
# Gaussian Blur
Gaussian = cv2.GaussianBlur(image, (7, 7), 0)
cv2.imshow('Gaussian Blurring', Gaussian)
cv2.waitKey(0)
  
# Median Blur
median = cv2.medianBlur(image, 5)
cv2.imshow('Median Blurring', median)
cv2.waitKey(0)
  
  
# Bilateral Blur
bilateral = cv2.bilateralFilter(image, 9, 75, 75)
cv2.imshow('Bilateral Blurring', bilateral)
cv2.waitKey(0)
cv2.destroyAllWindows()

Producción:

Publicación traducida automáticamente

Artículo escrito por Sourabh_Sinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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