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 ) / dt Se puede escribir como:
limΔ → 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ω i tω imiω i t
miω i ( t + 1 )-miω i ( t - 1 )2=miω imiω i t-mi- ω imiω i t2=miω i-mi- ω i2miω i t= I pecado( ω )miω i t
ωωω → π) 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ω i ( t - Δ )+12miω i t+14 4miω i ( t + Δ )=12( 1 +mi- ω i Δ+miω i Δ2)miω i t=12( 1 + cosω )miω i t
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⎡⎣⎢1210 00 00 0- 1- 2- 1⎤⎦⎥.