Está en la página 1de 3

Deteccion de Bordes

Este es un trabajo acadmico de IA cuyo objetivo era aplicar tcnicas matemticas para la deteccin de bordes en una imagen. Los ejecutables permiten procesar culquier imagen RGB en formato jpg, bmp o tiff y encontrar sus bordes mediante dos tcnicas bsicas: Primera derivada bidimencional: El algoritmo bsicamente - Extraer la lumininosidad de cada punto en una imagen rgb con formato r8g8b8 bits (el formato al que se convierte todo en memoria para esta aplicacin) . La luminosidad se toma simplemente como la distancia en el cubo RGB al color blanco. Adicionalmente tiene un factor de contraste para resaltar un poco mas los bordes.

- Aplicar la mascara de Sobel en sentido X y Y y luego sumar los valores absolutos para el punto. Para obtener GX y GY basta multiplicar cada valor de la mscara con el valor de la luminosidad en la matriz de 33 centrada en el pixel de interes y sumar los resultados.

- Crear una imagen en falsa escala de grises de acuedo al valor de G. - La imagen resultado se aplica como resultado a una textura. Debido al tiempo, todas las textura que no sean cuadradas se deforman para que se muestren cudradas en la ventana. En este ejemplo se muestra el algoritmo en accin sobre una imagen de imageAfter

Segunda derivada bidimencional: En este caso se calcula la segunda derivada omnidireccional y se buscan cruces por cero que indiquen minimos locales en el pixel evaluado (lo que indica un borde) El algoritmo es: - Extraer la lumininosidad de cada punto de la imagen (igual que con primera derivada) - Calcular el valor del operador lapaciano para cada punto de la imagen, esto se puede hacer con una mscara 55 o como en este caso con una mscara 33 . El clculo del valor de G es igual que para GX y GY en el caso de Sobel.

- Buscar los cruces en cero. Esto se hace revisando los signos de G en los pixeles aledaos al punto a evaluar. Si alguno de ellos tiene signo contrario, entonces se llevo a cabo un cruce por cero en el punto. Por ejemplo un cruce se seala como.

- Convertir los saltos en una imagen de falsa escala de grises - Asociar a una textura y mostrar en pantalla. Hay que notar que si el mtodo se aplicara directamente, el resultado seria monocromtico (cruce o no cruce), lo cual resultara en una imagen de bordes muy marcados. Una posible solucin a esto es volver a multiplicar cada cruce por el valor de su luminosidad original o por el valor absoluto normalizado del laplaciano. A pesar de que este mtodo es mas preciso, es muy sensible al ruido, por lo que las imagenes presentarn los bordes de compresin (especialmente en jpg) y los defectos de la imagenen. La misma imagen anterior tratada con el borde por segunda derivada:

La aplicacin utiliza la librera para cargado de texturas de Chris Leathly, basada en el codigo de Ipicture de Jeff Molofee.