Se propone realizar un programa que realice diferentes pruebas con los operadores de edge y proponer uno nuevo, pero antes de comenzar:
PDI se puede definir como el conjunto de procesamientos que se realizan sobre una imagen digital ya sea para realizar su almacenamiento, transmisión o tratamiento.
Para leer una imágen en matlab se utiliza la función imread y se asigna a una variable que representara a la imágen.
Las técnicas de contrastación son útilies principalmente para resaltar los bordes en una imagen.
Existen métodos de contrastación en el dominio espacial y en el dominio de la frecuencia.
El método más usado en la diferenciación de imágenes es el gradiente.
Se define el gradiente de una imagen
Una importante propiedad es que el vector gradiente
Para la detección de bordes sólo nos interesa la magnitud, que llamaremos simplemente gradiente y que denotaremos por:
En una imagen digital las derivadas son aproximadas por diferencias; una de las aproximaciones que se suele hacer es:
Es uno de los operadores que calcula el gradiente de la intensidad de una imagen en cada pixel.
Da la magnitud del mayor cambio posible, la dirección de este y el sentido de oscuro a claro. El resultado muestra cómo de abruptamente o suavemente cambia una imagen en cada punto analizado y, en consecuencia, cuán probable es que éste represente un borde en la imagen y, también, la orientación a la que tiende ese borde.
Hay otros operadores que tienen el mismo principio, sólo cambia el valor de una variable dentro de las máscaras.
Los tres operadores pueden formularse de forma conjunta con las siguientes máscaras de convolución mostradas a continuación:
- Operador Prewitt (k=1)
- Operador Sobel (k=2)
- Operador Frei-Chen (
$k=\sqrt{2}$ )
La función edge, calcula el gradiente de intensidad de una imagen, permitiendo escoger entre diferentes operadores, como se muestra en el siguiente pseudocódigo:
S = edge(img,'sobel')
figure
imshow(S);title('sobel')
Este filtro en general da mejores resultados que el filtro Gaussiano, porque permite preservar mejor los detalles y bordes.
Es muy útil en imágenes con ruido no uniforme.
Ordena los pixeles del vecindario y busca el valor de la media, ese es el valor que le asigna al pixel central.
Se propuso usar 7 imagenes diferentes y probar los 7 metodos descritos en la documentación de matlab (los 7 metodos se aplicaron a cada imagen), a continuación se muestran los resultados obtenidos