Una generalización de los operadores de gradiente direccionales son las máscaras de Kirsch. Los operadores de Kirsch son cuatro, de 0 a 135 grados, con 45 grados entre ellos, cuyo objetivo es detectar la dirección en que se tenga máxima respuesta, dando esto la direccionalidad de la orilla. Dichos operadores se pueden definir a diferentes tamaños, como 2x2, 3x3, 5x5.
Algoritmo:
1.- Leemos la imagen a escala de grises.
2.- Saber el tamaño de la imagen.
3.- Creamos las siguientes matrices para el borde.
g=np.zeros((r,c),dtype=np.uint8)
p=np.zeros((r,c),dtype=np.uint8)
q=np.zeros((r,c),dtype=np.uint8)
a=np.zeros((r,c),dtype=np.uint8)
b=np.zeros((r,c),dtype=np.uint8)
4.- Creamos los arreglos de matrices con las mascaras 0°=[[-1,-1,-1], [0,0,0], [1,1,1], 45°=[[-1,-1,0], [-1,0,1], [0,1,1], 90°=[[-1,0,1], [-1,0,1], [-1,0,1], 135°=[[0,1,1], [-1,0,1], [-1,-1,0] para obtener los operadores de Kirsch.
g=np.zeros((r,c),dtype=np.uint8)
p=np.zeros((r,c),dtype=np.uint8)
q=np.zeros((r,c),dtype=np.uint8)
a=np.zeros((r,c),dtype=np.uint8)
b=np.zeros((r,c),dtype=np.uint8)
4.- Creamos los arreglos de matrices con las mascaras 0°=[[-1,-1,-1], [0,0,0], [1,1,1], 45°=[[-1,-1,0], [-1,0,1], [0,1,1], 90°=[[-1,0,1], [-1,0,1], [-1,0,1], 135°=[[0,1,1], [-1,0,1], [-1,-1,0] para obtener los operadores de Kirsch.
5.- Se realiza el recorrido de la imagen original con dos ciclos for, una para filas y columnas en la cual utilizamos una parte de la imagen original (3x3), la cual de acuerdo a la posición de los pixeles se multiplicaran con los pixeles de la matriz de la mascara de 0° y sumamos el resultado con el siguiente resultado del siguiente pixel y así sucesivamente,el cual al resultado total lo elevaremos al cuadrado, le sacamos la raiz y obtendremos el borde de 0° de Kirsch.
6.- Nuevamente se realizaran los mismos recorridos para cada tipo de matriz de mascara ya sea para: 45°, 90° y 135°
7.- Recorremos columna, renglón para unir los cuatro resultados de los operadores que son: 0°, 45°, 90° y 135°.
8.- Mostrar imagen original, borde de 0°, borde de 45°, borde de 90°, borde de 135° y la imagen final.
6.- Nuevamente se realizaran los mismos recorridos para cada tipo de matriz de mascara ya sea para: 45°, 90° y 135°
7.- Recorremos columna, renglón para unir los cuatro resultados de los operadores que son: 0°, 45°, 90° y 135°.
8.- Mostrar imagen original, borde de 0°, borde de 45°, borde de 90°, borde de 135° y la imagen final.
9.- Guardamos las imágenes.


No hay comentarios.:
Publicar un comentario