Suavizar la imagen mediante la realización de operación de desenfoque en una imagen de escala de grises utilizando filtro de usuario definido media desenfoque en Python

En este artículo, vamos a ver cómo hacer filtro de desenfoque media definida por el usuario del tamaño requerido y el uso de esta operación ejecutar un desenfoque de la imagen en Python?

desenfoque de la imagen se refiere a hacer la imagen menos clara o distinta. El Filtro Media utiliza a menudo para eliminar el ruido de una imagen o señal.

En este programa, vamos a utilizar dos funciones de OpenCV-pitón (CV2) Módulo .. vamos a ver su sintaxis y descripciones primero:

1) imread ():
Se necesita una ruta absoluta / relativa ruta del archivo de imagen como un argumento y devuelve su matriz de la imagen correspondiente.

Si el valor de la bandera es:

  • 1 : carga una imagen en color.
  • 0 : Imagen de cargas en el modo de escala de grises.
  • -1 : Cargas imagen como tal incluyendo alfa canal.

Si no se le da el valor del indicador a continuación, mostrar la imagen original, que el camino está dada.

2) imshow ():
Toma nombre de la ventana y la matriz de imagen como un argumento con el fin de mostrar una imagen en una ventana de visualización con un nombre de ventana especificada.

también en este programa, vamos a utilizar una función del módulo de numpy .

media (): Toma matriz y devuelve la media de la matriz.

Además, en este programa que estamos utilizando el concepto de arreglo de rebanado

Let, Un es matriz 1-d:
A [Inicio: Parada: paso]

  1. empezar: número inicial de la secuencia.
  2. parada: Generar números hasta, pero sin incluir este número.
  3. paso: Diferencia entre cada número en la secuencia.

Ejemplo:

    A = [1,2,3,4,5,6,7,8,9,10]
print(A[ 1: 5])
Output:
[2,3,4,5]

programa Python class suavizar una imagen en escala de grises mediante el uso definido por el usuario medio

# import cv2 module
import cv2
# import numpy module as np
import numpy as np
# Define a function for performing
# Mean Blur on images
def MeanBlur(img,size) :
Ic = img
# run a loop from half of the size + 1 to upto
# number of rows present in the image
for i in range(size//2 + 1, Ic.shape[0]) :
# run a loop from half of the size + 1 upto
# number of columns present in the image
for j in range(size//2 +1, Ic.shape[1]) :
# Take a sub-matrix of specifed order form Ic image matrix
N = Ic[i-size//2 : i+ size//2 + 1, j - size//2: j+ size//2 + 1]
# find out mean of submatrix
mean = np.mean(N)
# assing that mean value to the specified pixel coordinates
img[i, j] = mean
# return blur image
return img
# Driver code
if __name__ == "__main__" :
# read an image using imread() function of cv2
# we have to pass the path of the image
# and tha value of flag which is optional
img = cv2.imread(r'C:UsersuserDesktoppic6.jpg',0)
# displaying the gray scale image
cv2.imshow('original image',img)
# order of the submatrix
order = 5
# MeanBlur function calling
img = MeanBlur(img,order)
# displaying the smoothen image
cv2.imshow("smooth image",img)

salida

Smoothen the image by performing blurring operation on a grayscale image using user defined mean blur filter in Python - 4


Deja un comentario

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