Operadores de detección de bordes (Sobel y Prewitt)
Los filtros de detección de contornos de Sobel y Prewitt están basados en el producto de convolución con las siguientes máscaras:
Sobel
Prewitt
Es importante notar que cada máscara de estos dos filtros efectúa un suavizado en la dirección perpendicular a la cual calcula la derivada parcial. Prewitt utiliza para esto un filtro promedio , mientras que Sobel utiliza un filtro gaussiano.
Para aplicar el operador sobre una imagen dada de Sobel podemos usar scikit-image de la siguiente manera:
from skimage.filters import sobel_h, sobel_v, sobel
#Aplica el filtro Sobel horizontal
img_sh = sobel_h(imagen)
#Aplica el filtro Sobel vertical
img_sv = sobel_v(imagen)
#Calcula bordes usando el filtro de sobel
img_s = sobel(imagen)
Para aplicar el operador sobre una imagen dada de Prewitt podemos usar scikit-image de la siguiente manera:
from skimage.filters import prewitt_h, prewitt_v, prewitt
#Aplica el filtro Sobel horizontal
img_sh = prewitt_h(imagen)
#Aplica el filtro Sobel vertical
img_sv = prewitt_v(imagen)
#Calcula bordes usando el filtro de sobel
img_s = prewitt(imagen)
En ambos casos recuerde validar los valores de salida de sus imágenes para poder visualizar correctamente los bordes calculados.
Last updated