Derivando las ecuaciones de Sobel de derivados

10

Muchos sitios ofrecen a los operadores de Sobel la máscara de convolución para suavizar una imagen. Sin embargo, no he encontrado un solo sitio que describa cómo puede derivar los operadores de las primeras derivadas parciales. Si alguien puede explicar la derivación, lo agradecería mucho.

Quanquan Liu
fuente

Respuestas:

3

El operador Sobel es una aproximación de la derivada en la dimensión X seguida de un operador de suavizado simple en la dimensión Y. (O derivada en la dimensión Y y luego suavizada en X).

Considere una señal unidimensional F(t). La derivada deF(t), reF(t)/ /ret Se puede escribir como:

limΔ0 0F(t+Δ)-F(t-Δ)2Δ

Esto se llama la fórmula de diferencia centrada .

Pero con una señal discreta, el más pequeño que tiene a su disposición es la distancia entre las muestras, por lo que lo usa como una aproximación del límite.Δ

Podemos ver cuán mala (o buena) es una aproximación al observar lo que hace a una señal exponencial compleja . La derivada verdadera daría . La aproximación da tan extremadamente preciso con bajas frecuencias ( cerca de 0), pero cada vez más inexacto a medida que acerca a la frecuencia de Nyquist (miωyotωyomiωyot

miωyo(t+1)-miωyo(t-1)2=miωyomiωyot-mi-ωyomiωyot2=miωyo-mi-ωyo2miωyot=yopecado(ω)miωyot
ωωωπ) Esto es lo mejor que vas a hacer con tres muestras. También tiene la ventaja de atenuar en exceso la respuesta de alta frecuencia en lugar de sobre amplificar.

Ahora hagamos un poco de suavizado en la dimensión Y. Queremos algo que solo use 3 puntos, y lo mejor que obtendrá es . Este filtro tiene respuesta de frecuencia: que pasa suavemente de pasar frecuencias bajas a frecuencias altas completamente atenuantes.14 4F(t-Δ)+12F(t)+14 4F(t+Δ)

14 4miωyo(t-Δ)+12miωyot+14 4miωyo(t+Δ)=12(1+mi-ωyoΔ+miωyoΔ2)miωyot=12(1+cosω)miωyot

Entonces, convolucione la aproximación derivada en la dimensión X con la más suave en la dimensión Y y obtendrá el núcleo:

18[10 0-120 0-210 0-1].
Lógica Errante
fuente