Operador de Sobel

El operador de sobel es muy similar al operador de Prewitt. También es una máscara derivada que se utiliza para la detección de bordes. Al igual que el operador Prewitt, el operador sobel también se usa para detectar dos tipos de bordes en una imagen:

  • Dirección vertical
  • Dirección horizontal

Diferencia con el operador Prewitt

La principal diferencia es que en el operador de Sobel, los coeficientes de la máscara no son fijos, y se pueden ajustar según nuestros requerimientos, si no violan ninguna propiedad de las máscaras derivadas.

La siguiente es la máscara vertical del operador de Sobel:

-uno 0 uno
-2 0 2
-uno 0 uno

Esta máscara funciona exactamente igual que la máscara de operador vertical de Prewitt. La única diferencia es que en el centro de la primera y tercera columnas se indican los valores «2» y «-2». Cuando se aplica a una imagen, esta máscara resalta los bordes verticales.

Como funciona

Cuando aplicamos esta máscara a la imagen, los bordes verticales se destacan en ella. Simplemente funciona como una derivada de primer orden y calcula la diferencia de brillo de los píxeles en el área del borde.

Dado que la columna central es cero, no incluye los valores de la imagen original, sino que calcula la diferencia en los valores de píxel derecho e izquierdo a lo largo de ese borde. Además, los valores centrales de la primera y tercera columnas son 2 y -2, respectivamente.

Esto le da más peso a los valores de píxeles alrededor del área del borde. Esto aumenta la intensidad de los bordes y se vuelve más nítido que la imagen original.

A continuación se muestra la máscara horizontal del operador Sobel.

-uno -2 -uno
0 0 0
uno 2 uno

Arriba, la máscara encontrará los bordes en la dirección horizontal porque la columna con ceros está en la dirección horizontal. Cuando colapsas esta máscara sobre la imagen, los bordes horizontales serán visibles en ella. La única diferencia entre ellos es que tienen 2 y -2 como centro de la primera y tercera fila.

Como funciona

Esta máscara resalta los bordes horizontales de la imagen. También funciona según el principio de la máscara antes mencionada y calcula la diferencia entre las intensidades de píxeles de un borde en particular. Dado que la fila central de la máscara consta de ceros, no incluye los valores de los bordes originales de la imagen, sino que calcula la diferencia entre las intensidades por encima y por debajo de los píxeles de un borde en particular. De esta forma, aumenta el cambio brusco de brillo y los bordes se vuelven más visibles.

Es hora de ver estas máscaras en acción:

Imagen de muestra

A continuación se muestra una imagen de muestra a la que aplicaremos las dos máscaras anteriores a su vez.

Operador de Sobel

Después de aplicar la máscara vertical

Después de aplicar una máscara vertical a la imagen de muestra anterior, se obtendrá la siguiente imagen.

Operador de Sobel

Después de aplicar una máscara horizontal

Después de aplicar una máscara horizontal a la imagen de muestra anterior, se obtendrá la siguiente imagen

Operador de Sobel

Comparación

Como puede ver, en la primera imagen a la que aplicamos la máscara vertical, todos los bordes verticales son más visibles que en la imagen original. Del mismo modo, en la segunda imagen, aplicamos una máscara horizontal y, como resultado, todos los bordes horizontales son visibles.

Entonces puede ver que podemos definir los bordes horizontales y verticales de la imagen. Además, si compara el resultado del operador sobel con el operador Prewitt, encontrará que el operador sobel encuentra más bordes o hace que los bordes sean más visibles que el operador Prewitt.

Esto se debe a que en el operador de sobel le hemos dado más peso a las intensidades de píxeles en los bordes.

Aumento del peso de la mascarilla

Ahora también podemos ver que si agregamos más peso a la máscara, más bordes obtendrá para nosotros. Además, como se mencionó al comienzo del tutorial, no hay coeficientes fijos en el operador de Sobel, por lo que aquí hay otro operador ponderado

-uno 0 uno
-cinco 0 cinco
-uno 0 uno

Si puede comparar el resultado de esta máscara con la máscara Prewitt vertical, está claro que esta máscara producirá más bordes en comparación con Prewitt, solo porque le asignamos más peso a la máscara.

🚫