tarea n°3 - u-cursos de chile facultad de ciencias físicas y matemáticas departamento de...

20
Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 Introducción al Procesamiento Digital de Imágenes TAREA N°3 OPERADORES DE DETECCIÓN DE BORDES Nombre Alumno : Sebastián Gálvez Profesor : Claudio Pérez Profesor Auxiliar : Luis Castillo Ayudante de Laboratorio: Alonso Astroza Fecha : 30/09/2014 Santiago, Chile.

Upload: vohanh

Post on 29-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

Universidad de Chile

Facultad de Ciencias Físicas y Matemáticas

Departamento de Ingeniería Eléctrica

EL7007 – Introducción al Procesamiento Digital de Imágenes

TAREA N°3

OPERADORES DE DETECCIÓN DE BORDES

Nombre Alumno : Sebastián Gálvez

Profesor : Claudio Pérez

Profesor Auxiliar : Luis Castillo

Ayudante de Laboratorio: Alonso Astroza

Fecha : 30/09/2014

Santiago, Chile.

Page 2: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~1~

Gradiente por Operador de Prewitt

P1.- Gradiente por Operador de Prewitt

En esta parte de la tarea se busca implementar un detector de bordes mediante

detección por gradiente, según el operador de Prewitt o Sobel. Se optó por la

implementación del operador de Prewitt, que consiste en los siguientes Kernels:

Operador de Prewitt para Gradiente Horizontal:

[

]

Operador de Prewitt para Gradiente Vertical:

[

]

De esta manera, el gradiente de una imagen en la dirección horizontal es

, y el gradiente en la dirección vertical es . Es

importante destacar que el gradiente horizontal permite detectar bordes orientados

verticalmente, mientras que para el gradiente vertical se detectan los bordes orientados

horizontalmente.

Finalmente, el gradiente total de la imagen se puede obtener mediante distintas

formas de combinar y , donde los métodos más utilizados son:

Magnitud del gradiente: √| | | | (1)

Máximo gradiente: | | | | (2)

Luego, la imagen del gradiente debe ser binarizada con un umbral adecuado

para la detección de los bordes deseados.

a) Implementación de filtrado con operador Prewitt.

Mediante la función de Matlab conv2, se logró implementar el filtrado de cada

componente del operador de Prewitt con la imagen de entrada spiderweb.jpg, la cual

se muestra en la Figura 1. Los resultados obtenidos se muestran en las imágenes Im1

e Im2 de la Figura 2. Se observa que existen diferencias entre los bordes resaltados en

cada imagen, aunque existen algunas partes en común debido a las componentes

diagonales de la imagen. En ambas se identifica la presencia de ruido debido a que

este operador resalta los cambios en la intensidad sin importar que sean cambios

leves.

Page 3: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~2~

Gradiente por Operador de Prewitt

FIGURA 1: IMAGEN ORIGINAL SPIDERWEB.JPG

FIGURA 2: (IZQUIERDA) FILTRADO CON PREWITT HORIZONTAL. (DERECHA) FILTRADO CON

PREWITT VERTICAL.

Page 4: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~3~

Gradiente por Operador de Prewitt

b) Binarización de Im1 e Im2.

Se implementó la función de Matlab im2bin(img,t), que permite establecer un

umbral t entre 0 y 1 de manera que si el umbral es superado en la imagen se tiene un

valor 0. En caso contrario, se tiene un valor de 1. Así, luego de varias pruebas, se

determinó que un umbral adecuado para percibir los bordes en la imagen es t1=0.21,

con lo cual se lograron los resultados mostrados en la Figura 3. Se pueden percibir

claramente los bordes de la telaraña, más un poco de ruido binario que puede ser

reducido con un filtro mediano si se desea.

FIGURA 3: IM1 (IZQ) E IM2 (DER) BINARIZADAS CON UMBRAL T1=0.21, SE PUEDEN PERCIBIR

CLARAMENTE LOS BORDES DE LA TELARAÑA.

c) y d) Gradiente máximo y efecto del umbral.

Se combinaron las imágenes Im1 e Im2 mediante la ecuación (2) para obtener

el gradiente completo de la imagen, luego se binarizó la imagen del gradiente

máximo, y se buscó un umbral t2, tal que los bordes fueran apenas perceptibles. El

valor encontrado para esta condición es de t2=0.42. Así, en la Figura 4, se muestran

las imágenes binarias con los bordes detectados para este umbral y para

de t2.

En la imagen con umbral igual a t2 apenas se pueden percibir algunos bordes. Sin

embargo, al disminuirlo a la mitad ya se pueden detectar perfectamente varios bordes de la

imagen. Para el caso de la imagen de bordes detectada para ¼ del valor de t2, se observa

que los bordes de la telaraña se comienzan a mezclar, debido a que se están considerando

las diferencias menores entre las intensidades de los pixeles correspondientes a los sectores

entre los bordes de la telaraña, este efecto se acentúa cuando el umbral se elige cada vez

menor, donde un valor muy pequeño como 1/32 de t2 no permite percibir ningún borde en la

imagen, debido a que se considera que toda variación muy pequeña es un borde.

Page 5: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~4~

Gradiente por Operador de Prewitt

FIGURA 4: IMAGENES DE BORDES DETECTADOS CON GRADIENTE MÁXIMO PARA DISTINTAS

FRACCIONES DEL UMBRAL T2=0.42

e) Bordes relacionados con la telaraña

Finalmente, se determinó que un umbral con valor entre t2 y ½ t2 podría permitir

detectar los bordes de las telarañas únicamente, por lo que finalmente se lograron

resultados adecuados con el valor de umbral t3=0.28. Los resultados se muestran en la

Figura 5, donde se aprecian claramente los bordes de la telaraña en todas las

direcciones.

Page 6: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~5~

Gradiente por Operador de Prewitt

FIGURA 5: BORDES DE LA TELARAÑA DETECTADOS CON UMBRAL T3=0.28

Page 7: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~6~

Gradiente por Operador de Roberts

P2.- Gradiente por Operador de Roberts

Análogo al primer problema de esta tarea, el segundo problema plantea

implementar el operador de Roberts, compuesto por los siguientes Kernels:

Operador de Roberts para Gradiente Horizontal:

[

]

Operador de Roberts para Gradiente Vertical:

[

]

a) Implementación de filtrado con operador Roberts.

La implementación es análoga a la del operador de Prewitt, ya que sólo basta

cambiar los Kernels utilizados. En este caso se utiliza la imagen de entrada ldda.jpg, la

cual se muestra en la Figura 6. Los resultados obtenidos al aplicar el operador de

Roberts en cada componente se muestran en las imágenes Im3 e Im4 de la Figura 7.

FIGURA 6: IMAGEN ORIGINAL EN ESCALA DE GRISES: “LES DEMOISELLES D´AVIGNON”

Page 8: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~7~

Gradiente por Operador de Roberts

FIGURA 7: (IZQUIERDA) FILTRADO CON ROBERTS HORIZONTAL. (DERECHA) FILTRADO CON

ROBERTS VERTICAL.

En este caso, debido a que los kernels son de tamaño 2x2, no es claro que un

operador realice detección de bordes horizontales y otro de bordes verticales, pero sí

existe una diferencia en las direcciones de los bordes resaltados en las imágenes

mostradas en la Figura 7.

b) Binarización de Im3 e Im4.

Se utilizó la misma función desarrollada para p1.b), determinando que un umbral

adecuado es t4=0.1, logrando las imágenes binarias mostradas en la Figura 8.

FIGURA 8: IM3 (IZQ) E IM4 (DER) BINARIZADAS CON UMBRAL T4=0.1, SE PUEDEN PERCIBIR

BIEN LOS BORDES EN LAS FIGURAS.

Page 9: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~8~

Gradiente por Operador de Roberts

En ambas imágenes se nota que existe una alta cantidad de ruido binario,

debido a que los bordes se perderían si se aumenta el umbral. Se puede observar que

existen diferencias en los bordes detectados, aunque mayoritariamente se comparten

los bordes en ambas imágenes debido a las múltiples direcciones de las líneas en el

cuadro.

c) Magnitud del gradiente y versión coloreable del cuadro.

Se combinaron las componentes del gradiente aproximado por operador de

Roberts calculando la magnitud del gradiente mediante la ecuación (1), y se binarizó la

imagen resultante con un umbral t5=0.065, el cual demostró los mejores resultados

para el objetivo de crear una imagen “coloreable”, es decir con sólo los bordes de las

figuras. El resultado se muestra en la Figura 9 (Izquierda).

Además de lo pedido, se probó la efectividad de un filtrado mediano con una

ventana de 2x2, logrando mostrar que se elimina parte del ruido binario presente,

además de suavizar las líneas diagonales y se obtiene un mejor efecto visual. Por otro

lado también se mezclan algunos bordes detectados, generando zonas más oscuras

que pierden detalle, como por ejemplo los ojos de las damas. La imagen final resultante

se muestra en la Figura 9 (Derecha).

FIGURA 9:(IZQUIERDA) MAGNITUD DE GRADIENTE, UMBRAL T5=0.065. (DERECHA) VERSION

COLOREABLE CON REDUCCIÓN DE RUIDO POR FILTRADO MEDIANO (2X2).

Los resultados logrados son totalmente satisfactorios y se demuestra que el

filtrado mediano reduce considerablemente el ruido binario, logrando una imagen más

suave y con bordes más definidos que utilizando únicamente el gradiente.

Page 10: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~9~

Operador LoG: Laplacian of Gaussian

P3.- Operador LoG: Laplacian of Gaussian

a) Operador LoG

En esta actividad se utilizará detección de bordes mediante el operador LoG, a

través de la utilización de la función edge(img,’log’,…) de Matlab. La imagen de

entrada en este caso es monalisa.jpg, cuya versión en escala de grises se muestra en

la Figura 10. Para seguir con la convención de que los bordes detectados sean valor 0

y el resto de la imagen sea 1, se utilizará la imagen 1-edge(…).

FIGURA 10: IMAGEN ORIGINAL EN ESCALA DE GRISES: “MONA LISA”.

Se define el operador LoG como una composición del operador diferencial de

segundo orden Laplaciano y de un Kernel gaussiano G.

Este operador es útil para detectar bordes mediante la detección de los cruces

por cero de la imagen resultante. Permitiendo ajustar la resolución del detector al variar

la desviación estándar que define el Kernel Gaussiano.

En la Figura 11 se muestran los bordes detectados al utilizar la función edge

dejando que el programa calcule automáticamente los parámetros necesarios. Se

observa que existe una alta presencia de ruido, por lo que sería conveniente efectuar

Page 11: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~10~

Operador LoG: Laplacian of Gaussian

una selección de parámetros adecuados para mejorar la visualización de los bordes de

la figura de la Mona Lisa.

FIGURA 11: BORDES DETECTADOS SIN FIJAR LOS PARÁMETROS MANUALMENTE

b) Efecto del en la detección de bordes.

A continuación se muestra en la Figura 12 la detección de bordes para los

valores de , , y .

FIGURA 12: DETECCIÓN DE BORDES CON DISTINTO DEL KERNEL GAUSSIANO.

Se puede notar que la ventana gaussiana con desviación estándar baja (0.5 y 1)

permite detectar bordes con una resolución muy fina, por lo que detecta las distintas

texturas de la tela y la pintura utilizada en el cuadro, mientras que al aumentar el valor

de a 2 o 4 se va perdiendo detalle en los bordes detectados, por lo que se permite

apreciar rasgos más generales del cuadro.

Page 12: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~11~

Operador LoG: Laplacian of Gaussian

c) Detección de bordes relevantes del rostro

Se eligió luego de varias pruebas que un valor de sigma adecuado es ,

pero para mejorar la detección, se probó con distintos valores de umbral, llegando a

que un buen resultado se produce para un umbral t=0.0006.

Así, la imagen resultante es la mostrada en la Figura 13, donde se pueden percibir los

bordes en los ojos, cejas, nariz y boca, además del borde de la cara.

FIGURA 13: BORDES DETECTADOS POR LoG PARA =4, T=0.0006.

.

d) Ventajas de LoG para esta imagen en particular.

Esto se discute en la parte p4.b) del presente informe.

Page 13: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~12~

Método de Canny

P4.- Método de Canny

a) Detección de bordes por Canny.

El método de Canny utiliza un filtro basado en la primera derivada de un Kernel

gaussiano G, donde luego permite discriminar los valores en que el gradiente no es

máximo local, por lo que se debe a variaciones ruidosas de la intensidad de pixel, de

esta manera se logran mejores resultados que el operador de LoG o sólo utilizar

operadores como Sobel, Prewitt o Roberts.

En la Figura 14 se muestran los resultados correspondientes a las partes a) y c)

pedidas en la Pregunta 3, replicados para el detector de bordes Canny. Se determinó

que un produce resultados satisfactorios en este caso.

FIGURA 14: (IZQUIERDA) BORDES DETECTADOS POR CANNY SIN FIJAR MANUALMENTE

LOS PARÁMETROS. (DERECHA) BORDES DETECTADOS AL FIJAR =4. LOS VALORES DE

UMBRALES CALCULADOS AUTOMÁTICAMENTE SON T_LOW=0.05, T_HIGH = 0.125.

Page 14: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~13~

Método de Canny

b) Ventajas de operador LoG y Canny para monalisa.jpg.

Para tener un punto de comparación, se muestran en la Figura 15 los resultados

de detección de bordes utilizando los detectores de las partes p1 y p2, donde se

observa que los operadores Prewitt y Roberts poseen un tamaño fijo en los Kernels,

por lo que no se podrá eliminar el ruido sin eliminar los bordes detectados, este efecto

es mayor mientras menor sea el tamaño del kernel utilizado. Por otro lado, estos

detectores producen valores pixel a pixel, por lo que puede haber muchas zonas

inconexas, lo cual hace más difícil identificar un rostro por ejemplo.

FIGURA 15: (IZQUIERDA) DETECCIÓN DE BORDES CON PREWITT. (DERECHA) DETECCIÓN DE

BORDES CON ROBERTS.

.

De esta forma, comparando los resultados, se deduce que existe una clara

ventaja en la utilización de LoG o Canny para esta imagen, la cual es que la correcta

elección del permite trabajar con niveles distintos de resolución, permitiendo

identificar los bordes deseados con mayor facilidad. Además, estos operadores tienden

a producir curvas cerradas, por lo que zonas como rostros, ojos, nariz y boca quedan

bien definidas, al contrario de como sucede con los operadores de Prewitt y Roberts.

Page 15: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~14~

Anexos

Anexos

A continuación se anexa el código de las funciones implementadas y de los script

utilizados para mostrar los resultados de cada pregunta.

Prewitt.m

function [im1,im2]=prewitt(img,graph) %Detector de bordes mediante operador Prewitt %Si el parámetro graph es 1, grafica Im1 e Im2. if nargin <2 graph=0; end P_hor=[-1 0 1;-1 0 1;-1 0 1]; P_vert=[-1 -1 -1; 0 0 0; 1 1 1];

im1=conv2(double(img),double(P_hor),'same'); im2=conv2(double(img),double(P_vert),'same'); if(graph==1) figure; colormap(gray) subplot('Position',[0.05,0.25,0.4,0.5]) imagesc(im1) title(sprintf('Im1, Kernel Prewitt Horizontal\n (Detecta Bordes

Verticales)')) subplot('Position',[0.55,0.25,0.4,0.5]) imagesc(im2) title(sprintf('Im2, Kernel Prewitt Vertical\n (Detecta Bordes

Horizontales)')) end

Page 16: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~15~

Anexos

Roberts.m

function [im3,im4]=roberts(img,graph) %Detector de bordes mediante operador Roberts %Si el parámetro graph es 1, grafica Im3 e Im4. if nargin <2 graph=0; end R_hor=[0 1;-1 0]; R_vert=[1 0;0 -1];

im3=conv2(double(img),double(R_hor),'same'); im4=conv2(double(img),double(R_vert),'same'); if(graph==1) figure; colormap(gray) subplot('Position',[0.05,0.25,0.4,0.5]) imagesc(im3) title(sprintf('Im3, Kernel Roberts Horizontal\n (Detecta Bordes

Verticales)')) subplot('Position',[0.55,0.25,0.4,0.5]) imagesc(im4) title(sprintf('Im4, Kernel Roberts Vertical\n (Detecta Bordes

Horizontales)')) end

Im2bin.m

function binim=im2bin(image,t) %Returns the binary image using threshold t from 0 to 1 relative to minimum %and maximum values of image. maxvalue=max(image(:)); minvalue=min(image(:)); t=t*(maxvalue-minvalue); [lx,ly]=size(image); binim=image; for i=1:lx for j=1:ly if(image(i,j)>=t) binim(i,j)=0; end if(image(i,j)<t) binim(i,j)=1; end end end

Page 17: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~16~

Anexos

Tarea3.m

%% Tarea 3

%% p1 clear all close all spider_gray=rgb2gray(imread('spiderweb.jpg')); figure; imshow(spider_gray);title('Imagen Original en escala de grises:

Spiderweb') [im1,im2]=prewitt(spider_gray,1); t1=0.21; im1_bin=im2bin(abs(im1),t1); im2_bin=im2bin(abs(im2),t1); figure; subplot(121); subimage(im1_bin) title(sprintf('Im1 Binarizada con umbral t1=%.2f',t1)) subplot(122) subimage(im2_bin) title(sprintf('Im2 Binarizada con umbral t1=%.2f',t1)) t2=0.42; max_im=max(abs(im1),(im2)); figure; for i=0:5 t=(1/2^i)*t2; max_bin=im2bin(max_im,t); subplot(3,2,i+1) subimage(max_bin) title(sprintf('Umbral=1/%d *t2',2^i)) if i==0 title(sprintf('Umbral t2=%.2f',t2)) end end t3=0.28; max_bin=im2bin(max_im,t3); figure;imshow(max_bin);title(sprintf('Bordes de telaraña detectados,

Umbral=%.2f',t3),'FontSize',14,'FontWeight','bold')

%% p2

close all clear all ldda_gray=rgb2gray(imread('ldda.jpg')); figure;imshow(ldda_gray);title('Imagen Original en escala de grises: Les

Demoiselles d´Avignon') [im3,im4]=roberts(ldda_gray,1); t4=0.1; im3_bin=im2bin(abs(im3),t4); im4_bin=im2bin(abs(im4),t4); figure; subplot(121); subimage(im3_bin)

Page 18: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~17~

Anexos

title(sprintf('Im3 Binarizada con umbral t4=%.2f',t4)) subplot(122) subimage(im4_bin) title(sprintf('Im4 Binarizada con umbral t4=%.2f',t4)) t5=0.065; total_im=sqrt(abs(im3).^2+abs(im4).^2); total_bin=im2bin(total_im,t5); figure;subplot(121); imshow(total_bin);title(sprintf('Magnitud de gradiente

Roberts con umbral t5=%.3f',t5)) % for t=0.05:0.01:0.15 % total_bin=im2bin(total_im,t); % figure; % imshow(total_bin) % title(sprintf('Umbral=%.2f',t)) % end subplot(122); imshow(medfilt2(total_bin,[2 2]));title('Filtrado Mediano con ventana 2x2,

Versión Coloreable')

%% p3

close all clear all mona_gray=rgb2gray(imread('monalisa.jpg')); figure;imshow(mona_gray);title('Imagen Original en escala de grises: Mona

Lisa') figure;imshow(1-edge(mona_gray,'log'));title('Bordes detectados con

parámetros calculados automáticamente') figure; [mona_edges05]=edge(mona_gray,'log',[],0.5); subplot(141);imshow(1-mona_edges05);title('\sigma =0.5') [mona_edges1]=edge(mona_gray,'log',[],1); subplot(142);imshow(1-mona_edges1);title('\sigma =1') [mona_edges2]=edge(mona_gray,'log',[],2); subplot(143);imshow(1-mona_edges2);title('\sigma =2') [mona_edges4]=edge(mona_gray,'log',[],4); subplot(144);imshow(1-mona_edges4);title('\sigma =4')

best_sigma=4; [best_mona_edges,threshold]=edge(mona_gray,'log',[],best_sigma); figure;imshow(1-best_mona_edges);title(sprintf('t=%.4f \\sigma

=%.1f',threshold,best_sigma))

%% p4

close all clear all mona_gray=rgb2gray(imread('monalisa.jpg')); figure;imshow(1-edge(mona_gray,'canny'));title('Bordes detectados con

parámetros calculados automáticamente') best_sigma2=4; [best_mona_edges, thresholds]=edge(mona_gray,'canny',[],best_sigma2); figure;imshow(1-best_mona_edges);title(sprintf('t_{LOW}=%.4f , t_{HIGH}=%.4f

\\sigma =%.1f',thresholds(1),thresholds(2),best_sigma2))

Page 19: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~18~

Anexos

%% p4b close all clear all mona_gray=rgb2gray(imread('monalisa.jpg')); [im1,im2]=prewitt(mona_gray,0); t6=0.16; max_im12=max(abs(im1),(im2)); max_bin12=im2bin(max_im12,t6); figure;subplot(121);imshow(max_bin12);title(sprintf('Bordes detectados con

Prewitt, Umbral=%.2f',t6),'FontSize',10,'FontWeight','bold') [im3,im4]=roberts(mona_gray,0); t7=0.16; total_im34=sqrt(abs(im3).^2+abs(im4).^2); total_bin34=im2bin(total_im34,t7); subplot(122);imshow(total_bin34);title(sprintf('Bordes detectados con

Roberts, Umbral=%.2f',t7),'FontSize',10,'FontWeight','bold')

Page 20: TAREA N°3 - U-Cursos de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL7007 – Introducción al Procesamiento Digital de Imágenes TAREA

EL7007 – Operadores de Detección de Bordes

U. de Chile. FCFM. DIE ~19~

Bibliografía

Bibliografía

“Resumen_4” – EL7007 Introducción al Procesamiento Digital de Imágenes

– Caludio A. Perez, Departamento de Ingeniería Eléctrica, Universidad de

Chile, 2014.

Algoritmo de Canny - http://es.wikipedia.org/wiki/Algoritmo_de_Canny