Prewitt del operador

El operador Prewitt se utiliza para detectar los bordes de una imagen. Detecta dos tipos de bordes

  • Bordes horizontales
  • Bordes verticales

Los bordes se calculan utilizando la diferencia entre las respectivas intensidades de píxeles de la imagen. Todas las máscaras que se utilizan para la detección de bordes también se conocen como máscaras derivadas. Dado que, como hemos dicho muchas veces en esta serie de tutoriales, la imagen también es una señal, los cambios en la señal solo se pueden calcular mediante diferenciación. Por eso, estos operadores también se denominan operadores derivados o máscaras derivadas.

Todas las máscaras derivadas deben tener las siguientes propiedades:

  • El signo opuesto debe estar presente en la máscara.
  • La suma de la máscara debe ser cero.
  • Cuanto mayor sea el peso, mejor se detectan los bordes.

El operador Prewitt nos proporciona dos máscaras, una para la detección de bordes en dirección horizontal y la otra para la detección de bordes en dirección vertical.

Dirección vertical

-uno 0 uno
-uno 0 uno
-uno 0 uno

La máscara anterior encontrará bordes en la dirección vertical, y eso es porque la columna de ceros está en la dirección vertical. Cuando colapsas esta máscara en una imagen, te dará los bordes verticales de la imagen.

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. Esto aumenta la intensidad de los bordes y se vuelve más nítido que la imagen original.

Dirección horizontal

-uno -uno -uno
0 0 0
uno uno 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.

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. Ambas máscaras anteriores siguen el principio de máscara derivada. Ambas máscaras tienen signos opuestos y la suma de ambas máscaras es cero. La tercera condición no se aplicará en esta declaración, ya que las dos máscaras anteriores están estandarizadas y no podemos cambiar el valor en ellas.

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.

Prewitt del operador

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. Esta imagen contiene bordes verticales. Es más correcto juzgar esto comparándolo con una imagen con bordes horizontales.

Prewitt del operador

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.

Prewitt del operador

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.

🚫