Introducción al desenfoque gaussiano

Transferencia desde: 1. Algoritmo de desenfoque gaussiano: http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

 

Por lo general, el software de procesamiento de imágenes proporcionará filtros de "desenfoque" (desenfoque) para hacer que la imagen sea borrosa.

 

Hay muchos tipos de algoritmos de "desenfoque", uno de los cuales se llama "Desenfoque gaussiano" (Desenfoque gaussiano). Se utiliza la distribución normal (también conocido como "distribución de Gauss") para el procesamiento de imágenes.

Este artículo presenta el algoritmo "Desenfoque gaussiano", verá que este es un algoritmo muy simple y fácil de entender. En esencia, es una tecnología de suavizado de datos , adecuada para muchas ocasiones, y el procesamiento de imágenes solo proporciona un ejemplo de aplicación intuitivo.

1. El principio del desenfoque gaussiano

El llamado "desenfoque" puede entenderse como tomar el valor medio de los píxeles circundantes para cada píxel.

En la figura anterior, 2 es el punto medio y los puntos periféricos son todos 1.

"Punto medio" toma el valor medio de los "puntos periféricos" y se convierte en 1. Numéricamente, esto es una especie de "suavizado". En gráficos, equivale a producir un efecto de "desenfoque" y el "punto medio" pierde detalles.

Obviamente, al calcular el valor promedio, cuanto mayor sea el rango de valores, más fuerte será el "efecto de desenfoque".

La anterior es la imagen original, el radio de desenfoque es de 3 píxeles y el radio de desenfoque es de 10 píxeles. Cuanto mayor sea el radio de desenfoque, más borrosa será la imagen. Desde un punto de vista numérico, más suave es el valor numérico.

La siguiente pregunta es, dado que cada punto debe tomar el promedio de los píxeles circundantes, ¿cómo se debe asignar el peso?

Si usa promedio simple, obviamente no es muy razonable, porque las imágenes son continuas, cuanto más cerca está el punto, más cercana es la relación, y cuanto más lejos está la relación, más distante. Por lo tanto, el promedio ponderado es más razonable, cuanto más cercana es la distancia, mayor es el peso y cuanto mayor es la distancia, menor es el peso.

En segundo lugar, el peso de la distribución normal

La distribución normal es obviamente un modelo de distribución de peso deseable.

En el gráfico, la distribución normal es una curva en forma de campana. Cuanto más cerca del centro, mayor es el valor y cuanto más lejos del centro, menor es el valor.

Al calcular el promedio, solo necesitamos usar el "punto central" como origen y asignar pesos a otros puntos de acuerdo con sus posiciones en la curva normal para obtener un promedio ponderado.

Tres, función gaussiana

La distribución normal anterior es unidimensional y las imágenes son bidimensionales, por lo que necesitamos una distribución normal bidimensional.

La función de densidad de la distribución normal se denomina "función gaussiana" . Su forma unidimensional es:

Entre ellos, μ es el valor medio de x y σ es la varianza de x. Porque al calcular el promedio, el punto central es el origen, entonces μ es igual a 0.

De acuerdo con la función gaussiana unidimensional, la función gaussiana bidimensional se puede derivar:

Con esta función se puede calcular el peso de cada punto.

Cuarto, la matriz de peso

Suponiendo que las coordenadas del punto central son (0,0), entonces las coordenadas de los 8 puntos más cercanos son las siguientes:

El otro punto puede deducirse por analogía.

Para calcular la matriz de peso, es necesario establecer el valor de σ. Suponiendo σ = 1.5, la matriz de peso con radio de desenfoque de 1 es la siguiente:

La suma de los pesos de estos 9 puntos es igual a 0.4787147. Si solo se calcula el promedio ponderado de estos 9 puntos, la suma de sus pesos debe ser igual a 1. Por lo tanto, los 9 valores anteriores deben dividirse por 0.4787147 para obtener la matriz de peso final.

Cinco, calcula el desenfoque gaussiano

Con la matriz de peso, se puede calcular el valor del desenfoque gaussiano.

Suponiendo que hay 9 píxeles, el valor de gris (0-255) es el siguiente:

Cada punto se multiplica por su propio valor de peso:

obtener

La suma de estos 9 valores es el valor de desenfoque gaussiano en el punto central.

Repita este proceso para todos los puntos y obtenga la imagen borrosa gaussiana. Si la imagen original es una imagen en color, el desenfoque gaussiano se puede realizar en los tres canales RGB.

Seis, el procesamiento de los puntos límite.

¿Qué pasa si un punto está en el límite y no hay suficientes puntos a su alrededor?

Una solución es copiar los puntos existentes en las posiciones correspondientes del otro lado para simular una matriz completa.

referencias

1. Algoritmo de desenfoque gaussiano: http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

2. Cómo programar un desenfoque gaussiano sin utilizar bibliotecas de terceros

 

Transferencia desde: 1. Algoritmo de desenfoque gaussiano: http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

 

Por lo general, el software de procesamiento de imágenes proporcionará filtros de "desenfoque" (desenfoque) para hacer que la imagen sea borrosa.

 

Hay muchos tipos de algoritmos de "desenfoque", uno de los cuales se llama "Desenfoque gaussiano" (Desenfoque gaussiano). Se utiliza la distribución normal (también conocido como "distribución de Gauss") para el procesamiento de imágenes.

Este artículo presenta el algoritmo "Desenfoque gaussiano", verá que este es un algoritmo muy simple y fácil de entender. En esencia, es una tecnología de suavizado de datos , adecuada para muchas ocasiones, y el procesamiento de imágenes solo proporciona un ejemplo de aplicación intuitivo.

1. El principio del desenfoque gaussiano

El llamado "desenfoque" puede entenderse como tomar el valor medio de los píxeles circundantes para cada píxel.

En la figura anterior, 2 es el punto medio y los puntos periféricos son todos 1.

"Punto medio" toma el valor medio de los "puntos periféricos" y se convierte en 1. Numéricamente, esto es una especie de "suavizado". En gráficos, equivale a producir un efecto de "desenfoque" y el "punto medio" pierde detalles.

Obviamente, al calcular el valor promedio, cuanto mayor sea el rango de valores, más fuerte será el "efecto de desenfoque".

La anterior es la imagen original, el radio de desenfoque es de 3 píxeles y el radio de desenfoque es de 10 píxeles. Cuanto mayor sea el radio de desenfoque, más borrosa será la imagen. Desde un punto de vista numérico, más suave es el valor numérico.

La siguiente pregunta es, dado que cada punto debe tomar el promedio de los píxeles circundantes, ¿cómo se debe asignar el peso?

Si usa promedio simple, obviamente no es muy razonable, porque las imágenes son continuas, cuanto más cerca está el punto, más cercana es la relación, y cuanto más lejos está la relación, más distante. Por lo tanto, el promedio ponderado es más razonable, cuanto más cercana es la distancia, mayor es el peso y cuanto mayor es la distancia, menor es el peso.

En segundo lugar, el peso de la distribución normal

La distribución normal es obviamente un modelo de distribución de peso deseable.

En el gráfico, la distribución normal es una curva en forma de campana. Cuanto más cerca del centro, mayor es el valor y cuanto más lejos del centro, menor es el valor.

Al calcular el promedio, solo necesitamos usar el "punto central" como origen y asignar pesos a otros puntos de acuerdo con sus posiciones en la curva normal para obtener un promedio ponderado.

Tres, función gaussiana

La distribución normal anterior es unidimensional y las imágenes son bidimensionales, por lo que necesitamos una distribución normal bidimensional.

La función de densidad de la distribución normal se denomina "función gaussiana" . Su forma unidimensional es:

Entre ellos, μ es el valor medio de x y σ es la varianza de x. Porque al calcular el promedio, el punto central es el origen, entonces μ es igual a 0.

De acuerdo con la función gaussiana unidimensional, la función gaussiana bidimensional se puede derivar:

Con esta función se puede calcular el peso de cada punto.

Cuarto, la matriz de peso

Suponiendo que las coordenadas del punto central son (0,0), entonces las coordenadas de los 8 puntos más cercanos son las siguientes:

El otro punto puede deducirse por analogía.

Para calcular la matriz de peso, es necesario establecer el valor de σ. Suponiendo σ = 1.5, la matriz de peso con radio de desenfoque de 1 es la siguiente:

La suma de los pesos de estos 9 puntos es igual a 0.4787147. Si solo se calcula el promedio ponderado de estos 9 puntos, la suma de sus pesos debe ser igual a 1. Por lo tanto, los 9 valores anteriores deben dividirse por 0.4787147 para obtener la matriz de peso final.

Cinco, calcula el desenfoque gaussiano

Con la matriz de peso, se puede calcular el valor del desenfoque gaussiano.

Suponiendo que hay 9 píxeles, el valor de gris (0-255) es el siguiente:

Cada punto se multiplica por su propio valor de peso:

obtener

La suma de estos 9 valores es el valor de desenfoque gaussiano en el punto central.

Repita este proceso para todos los puntos y obtenga la imagen borrosa gaussiana. Si la imagen original es una imagen en color, el desenfoque gaussiano se puede realizar en los tres canales RGB.

Seis, el procesamiento de los puntos límite.

¿Qué pasa si un punto está en el límite y no hay suficientes puntos a su alrededor?

Una solución es copiar los puntos existentes en las posiciones correspondientes del otro lado para simular una matriz completa.

referencias

1. Algoritmo de desenfoque gaussiano: http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

2. Cómo programar un desenfoque gaussiano sin utilizar bibliotecas de terceros

 

Supongo que te gusta

Origin blog.csdn.net/lr_shadow/article/details/114936866
Recomendado
Clasificación