procesamiento matriz matrices imagenes filtros espaciales convolucion image-processing blur gaussian convolution

image processing - matriz - Desenfoque gaussiano y núcleos de convolución



filtros espaciales procesamiento de imagenes (3)

Aquí hay una herramienta increíble, si no quieres calcularlo todo por ti mismo (como yo):
http://www.embege.com/gauss/

EDITAR
Ya que el enlace parece estar roto ahora, aquí hay un enlace a archive.org:
http://web.archive.org/web/20150217075657/http://www.embege.com/gauss

No entiendo qué es un kernel de convolución y cómo aplicaría una matriz de convolución a los píxeles de una imagen (estoy hablando de hacer una operación de Desenfoque Gaussiano en una imagen).

¿También podría obtener una explicación sobre cómo crear un kernel para una operación de Desenfoque Gaussiano?

Estoy leyendo este artículo pero parece que no entiendo cómo se hacen las cosas ...

Gracias a cualquiera que se tome su tiempo para explicarme esto :)

ExtremeCoder


La idea básica es que los nuevos píxeles de la imagen se crean con un promedio ponderado de los píxeles cercanos (imagina dibujar un círculo alrededor del píxel).

Para cada píxel de la imagen, va a crear un pequeño cuadrado alrededor del píxel. Digamos que toma los 8 vecinos al lado de un píxel (incluidas las diagonales, aunque no importa aquí), y realizamos un promedio ponderado para obtener el píxel medio.

En el caso de desenfoque gaussiano se divide en dos operaciones unidimensionales. Para cada píxel, tome una cierta cantidad de píxeles junto a un píxel en la dirección de la fila solamente. Multiplique los valores de píxel por el tiempo de los pesos calculados a partir de la distribución de Gauss (o si lo hace por un efecto visual y no por una razón científica, los pesos pueden ser buenos) y resúmalos. Otra forma de verlo es el píxel de un vector y los pesos de un vector y usted está tomando el producto de puntos. Repita este proceso en la dirección de la columna como un pase separado.


Un núcleo de convolución es una matriz de valores que especifica cómo la vecindad de un píxel contribuye al estado de ese píxel en la imagen final. Aquí hay una descripción justa de lo básico. Un desenfoque gaussiano es una función de convolución que utiliza una función realmente fea (has visto la página de wikipedia) para calcular un kernel de convolución para pasar sobre la imagen. Encontrarás un kernel de ejemplo para un gaussiano en esa página de wikipedia.

El punto de todas las matemáticas allí es producir un desenfoque suave que se asemeja al patrón de dispersión producido por una pantalla de malla colocada entre el espectador y la imagen. Puede pensar que el ''tamaño'' (la desviación estándar) del gaussiano está relacionado con la distancia entre la imagen y la pantalla.