SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Procesamiento de Imágenes
y Visión Artificial
(WEE2)
Sesión: 10
MSc. Ing. José C. Benítez P.
Detección de Bordes
Logros de aprendizaje
1. Conocer los operadores de detección de bordes de
imágenes digitales.
2. Analizar el operador Canny.
3. Aplicar el operador Sobel.
4. Comprender el algoritmo del operador Prewitt.
5. Implementar los algoritmos mediante funciones para
operar la detección de bordes en las imágenes digitales.
6. Conocer los métodos de MatLab para cada uno de los
operadores de detección de bordes aplicados a las
imágenes digitales.
2
3
Contenido
Detección de bordes:
Introducción.
Detección de bordes.
Operadores basados en la primera derivada
(Gradiente).
Operador de Roberts.
Operador de Prewitt, Sobel y Frei-Chen.
Operador de Canny
Ejercicios.
Introducción
Esquema general del análisis de imágenes
4
Detección de bordes
Los bordes de una imagen digital se pueden definir como
transiciones entre dos regiones de niveles de gris
significativamente distintos. Suministran una valiosa
información sobre las fronteras de los objetos y puede ser
utilizada para segmentar la imagen, reconocer objetos, etc.
La mayoría de las técnicas para detectar bordes emplean
operadores locales basados en distintas aproximaciones
discretas de la primera y segunda derivada de los niveles
de grises de la imagen.
5
Operadores basadas en la primera derivada
(Gradiente).
La derivada de una señal continua proporciona las
variaciones locales con respecto a la variable, de
forma que el valor de la derivada es mayor cuanto más
rápidas son estas variaciones.
En el caso de funciones bidimensionales f(x,y), la
derivada es un vector que apunta en la dirección de la
máxima variación de f(x,y) y cuyo módulo es
proporcional a dicha variación. Este vector se
denomina gradiente y se define:
6
Operadores basadas en la primera derivada
(Gradiente).
En el caso bidimensional discreto, las distintas
aproximaciones del operador gradiente se basan en
diferencias entre los niveles de grises de la imagen. La
derivada parcial fx(x,y) (gradiente de fila GF(i,j) ) puede
aproximarse por la diferencia de píxeles adyacentes de
la misma fila.
7
Operadores basadas en la primera derivada
(Gradiente).
La discretización del vector gradiente en el eje Y (Gc(i,j)), será:
8
El gradiente de la fila GF y de columna GC en cada punto se
obtienen mediante la convolución dela imagen con las
máscaras HF y HC, esto es:
Operadores basadas en la primera derivada
(Gradiente).
La magnitud y orientación del vector gradiente suele
aproximarse por la expresión:
9
Los operadores más utilizados son los de Roberts,
Prewitt, Sobel y Frei-Chen.
Operador de Roberts.
Las máscaras utilizadas en este operador son:
10
Obtiene buena respuesta ante bordes diagonales. Ofrece
buenas prestaciones en cuanto a localización. El gran
inconveniente de este operador es su extremada sensibilidad
al ruido y por tanto tiene pobres cualidades de detección.
Operadores de Prewitt, Sobel y Frei-Chen
11
Los tres operadores pueden formularse de forma conjunta con
las siguientes máscaras de convolución mostradas a
continuación.
En el operador Prewitt (K=1)
En el operador Sobel (K=2),
En el operador Frei-Chen (K=Ö2 )
Operadores de Prewitt, Sobel y Frei-Chen
12
En el operador Prewitt (K=1) se involucran a los vecinos de filas /
columnas adyacentes para proporcionar mayor inmunidad al ruido.
El operador Sobel (K=2), se supone que es más sensible a los bordes
diagonales que el de Prewitt aunque en la práctica hay poca
diferencia entre ellos.
Frei-Chen (K=√√√√2 ), el gradiente es el mismo para bordes verticales,
horizontales y diagonales.
Prewitt, Sobel y Frei-Chen en MatLab
13
En Matlab:
BW = edge(I,'sobel',thresh,direction)
Esta función encuentra los bordes de una imagen de distintos
niveles de intensidad. El resultado es una imagen binaria del
mismo tamaño que la imagen original en la cual, “1” significa
que ha detectado un borde y “0” es que no lo ha detectado.
El parámetro thresh indica el umbral de binarización. Si se elige
el umbral de binarización, hay que ser consciente de que la
función edge normaliza la imagen antes de procesarla,
llevándola al intervalo [0,1]. También divide las máscaras
empleadas en los filtros por un factor, siendo de 2 para Roberts,
8 para Sobel y 6 para Prewitt..
Prewitt, Sobel y Frei-Chen en MatLab
14
Con la función edge se obtiene una imagen de bordes
binaria, y se puede obtener con diversos métodos: sobel,
prewitt, robert, canny, combinado de suavizado,
Laplaciana y operador LOG.
Ejemplo:
>> im=imread('casa.jpg');
>> im1=rgb2gray(im);
>> b1=edge(im1,'sobel','vertical');
>> b2=edge(im1,'sobel','horizontal');
>> b3=edge(im1,'sobel');
>> subplot(2,2,1),subimage(im1),Title('Imagen Original');
>> subplot(2,2,2),subimage(b1),Title('Sobel Vertical');
>> subplot(2,2,3),subimage(b2),Title('Sobel Horizontal');
>> subplot(2,2,4),subimage(b3),Title('Sobel');
Prewitt, Sobel y Frei-Chen en MatLab
15
Prewitt, Sobel y Frei-Chen en MatLab
16
La función edge también puede indicar el umbral empleado en
la detección de bordes:
[BW,umbral]=edge(I,’sobel’,…)
También se podría aplicar el filtro de Sobel creando una máscara
con la función fspecial, imfilter.
De esta forma se obtiene una imagen de bordes en escala de
grises.
Para obtener tanto los bordes horizontales cómo los verticales
se utiliza la función imadd.
Prewitt, Sobel y Frei-Chen en MatLab
17
Ejemplo:
>> im=imread('casa.jpg');
>> im1=rgb2gray(im);
>> sf=fspecial('sobel');
>> sc=sf';
>> b1=imfilter(im1,sf);
>> b2=imfilter(im1,sc);
>> b3=imadd(b1,b2);
>> subplot(2,2,1),subimage(im1),Title('Imagen Original');
>> subplot(2,2,2),subimage(b2),Title('Sobel Vertical');
>> subplot(2,2,3),subimage(b1),Title('Sobel Horizontal');
>> subplot(2,2,4),subimage(b3),Title('Sobel');
Prewitt, Sobel y Frei-Chen en MatLab
18
Prewitt, Sobel y Frei-Chen en MatLab
19
Ejemplo:
>> im=imread('casa.jpg');
>> im1=rgb2gray(im);
>> b1=edge(im1,'sobel');
>> b2=edge(im1,'prewitt');
>> b3=edge(im1,'canny');
>> subplot(2,2,1),subimage(im1),Title('Imagen Original');
>> subplot(2,2,2),subimage(b1),Title('Sobel');
>> subplot(2,2,3),subimage(b2),Title('Prewitt');
>> subplot(2,2,4),subimage(b3),Title('Canny');
Prewitt, Sobel y Frei-Chen en MatLab
20
Prewitt, Sobel y Frei-Chen en MatLab
21
Ejemplo:
>> im=imread('casa.jpg');
>> im1=rgb2gray(im);
>> b1=edge(im1,'roberts');
>> b2=edge(im1,'log');
>> b3=edge(im1,'zerocross');
>> subplot(2,2,1),subimage(im1),Title('Imagen Original');
>> subplot(2,2,2),subimage(b1),Title('Roberts');
>> subplot(2,2,3),subimage(b2),Title('Laplaciano del gaussiano');
>> subplot(2,2,4),subimage(b3),Title('Zerocross');
Prewitt, Sobel y Frei-Chen en MatLab
22
Prewitt, Sobel y Frei-Chen en MatLab
23
• Antes de aplicar algoritmos de segmentación la
imagen de bordes ha de ser binaria.
• Para binarizar se pueden utilizar las funciones de
Matlab:
• graythresh, halla el umbral de binarización
• im2bw, binariza la imagen
Resumen
24
Realizar un resumen mediante mapas conceptuales (CMapTools)
de esta diapositiva.
Serán mejor consideradas los resúmenes que tengan información
extra a esta diapositiva.
Las fuentes adicionales utilizadas en el resumen se presentarán
en su carpeta personal del Dropbox y deben conservar el nombre
original y agregar al final _S10.
Las fuentes y los archivos *.cmap deben colocarse dentro de su
carpeta personal del Dropbox, dentro de una carpeta de nombre:
PDI_PaternoM_S10
Las Tareas que no cumplan las
indicaciones no serán considerados
por el profesor.
25
Preguntas
El resumen con mapas conceptuales solicitado de la
Sesión, al menos debe responder las siguientes
preguntas:
1. Definición de borde de una imagen.
2. Explicar la técnica para detectar bordes.
3. Describir el operador de Roberts.
4. Describir el operador de Prewitt.
5. Describir el operador de Sobel.
6. Describir el operador de Fri-Chen.
7. Describir otros operadores de detección de bordes.
8. Realizar una comparación entre los distintos
operadores.
26
Procesamiento de Imágenes
y Visión Artificial
Blog del curso:
http://utppdiyva.blogspot.com
Sesión 10. Detección de bordes

Contenu connexe

En vedette

Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
jcbenitezp
 
Pdi paterno m_lab1
Pdi paterno m_lab1Pdi paterno m_lab1
Pdi paterno m_lab1
c09271
 
Utp pdi_2015-2_ea8 transformaciones geometricas
 Utp pdi_2015-2_ea8 transformaciones geometricas Utp pdi_2015-2_ea8 transformaciones geometricas
Utp pdi_2015-2_ea8 transformaciones geometricas
jcbp_peru
 
Utp pd_iy_va_sap12 reconocimiento de patrones
 Utp pd_iy_va_sap12 reconocimiento de patrones Utp pd_iy_va_sap12 reconocimiento de patrones
Utp pd_iy_va_sap12 reconocimiento de patrones
jcbp_peru
 
Utp pdi_2015-2_ea9 filtrado espacial
 Utp pdi_2015-2_ea9 filtrado espacial Utp pdi_2015-2_ea9 filtrado espacial
Utp pdi_2015-2_ea9 filtrado espacial
jcbp_peru
 
Utp pd_iy_va_sap11 segmentación
 Utp pd_iy_va_sap11 segmentación Utp pd_iy_va_sap11 segmentación
Utp pd_iy_va_sap11 segmentación
jcbp_peru
 
Utp pd_iy_va_sap14 vision estereoscopica
 Utp pd_iy_va_sap14 vision estereoscopica Utp pd_iy_va_sap14 vision estereoscopica
Utp pd_iy_va_sap14 vision estereoscopica
jcbp_peru
 
Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
 Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
jcbp_peru
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
jcbenitezp
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
jcbp_peru
 
Utp pdi_2015-2_ea6 operaciones morfologicas i
 Utp pdi_2015-2_ea6 operaciones morfologicas i Utp pdi_2015-2_ea6 operaciones morfologicas i
Utp pdi_2015-2_ea6 operaciones morfologicas i
jcbp_peru
 
Utp 2015-2_pdi_ea1 introduccion a la va
 Utp 2015-2_pdi_ea1 introduccion a la va Utp 2015-2_pdi_ea1 introduccion a la va
Utp 2015-2_pdi_ea1 introduccion a la va
jcbp_peru
 
Utp 2015-2_pdi_lab1
 Utp 2015-2_pdi_lab1 Utp 2015-2_pdi_lab1
Utp 2015-2_pdi_lab1
jcbp_peru
 
Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
 Utp 2015-2_pdi_ea3 conversiones c2_g y negativo Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
jcbp_peru
 
A153 wee2 procesamientodeimagenesyvisionartificial
A153 wee2 procesamientodeimagenesyvisionartificialA153 wee2 procesamientodeimagenesyvisionartificial
A153 wee2 procesamientodeimagenesyvisionartificial
jcbp_peru
 
Utp 2015-2_pdi_sap2 iluminacion y modos de color
 Utp 2015-2_pdi_sap2 iluminacion y modos de color Utp 2015-2_pdi_sap2 iluminacion y modos de color
Utp 2015-2_pdi_sap2 iluminacion y modos de color
jcbp_peru
 
Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
 Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
jcbp_peru
 
Utp pdi_2015-2_ea7 operaciones morfologicas ii
 Utp pdi_2015-2_ea7 operaciones morfologicas ii Utp pdi_2015-2_ea7 operaciones morfologicas ii
Utp pdi_2015-2_ea7 operaciones morfologicas ii
jcbp_peru
 

En vedette (20)

Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
 
Pdi paterno m_lab1
Pdi paterno m_lab1Pdi paterno m_lab1
Pdi paterno m_lab1
 
Utp pdi_2015-2_ea8 transformaciones geometricas
 Utp pdi_2015-2_ea8 transformaciones geometricas Utp pdi_2015-2_ea8 transformaciones geometricas
Utp pdi_2015-2_ea8 transformaciones geometricas
 
Utp pd_iy_va_sap12 reconocimiento de patrones
 Utp pd_iy_va_sap12 reconocimiento de patrones Utp pd_iy_va_sap12 reconocimiento de patrones
Utp pd_iy_va_sap12 reconocimiento de patrones
 
Utp pdi_2015-2_ea9 filtrado espacial
 Utp pdi_2015-2_ea9 filtrado espacial Utp pdi_2015-2_ea9 filtrado espacial
Utp pdi_2015-2_ea9 filtrado espacial
 
Utp pd_iy_va_sap11 segmentación
 Utp pd_iy_va_sap11 segmentación Utp pd_iy_va_sap11 segmentación
Utp pd_iy_va_sap11 segmentación
 
Utp pd_iy_va_sap14 vision estereoscopica
 Utp pd_iy_va_sap14 vision estereoscopica Utp pd_iy_va_sap14 vision estereoscopica
Utp pd_iy_va_sap14 vision estereoscopica
 
Lab2 d
Lab2 dLab2 d
Lab2 d
 
L2 s2
L2 s2L2 s2
L2 s2
 
Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
 Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
Utp pdi_2015-2_sap5 histograma_brilloo_cntrastecgamma
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Utp pdi_2015-2_ea6 operaciones morfologicas i
 Utp pdi_2015-2_ea6 operaciones morfologicas i Utp pdi_2015-2_ea6 operaciones morfologicas i
Utp pdi_2015-2_ea6 operaciones morfologicas i
 
Utp 2015-2_pdi_ea1 introduccion a la va
 Utp 2015-2_pdi_ea1 introduccion a la va Utp 2015-2_pdi_ea1 introduccion a la va
Utp 2015-2_pdi_ea1 introduccion a la va
 
Utp 2015-2_pdi_lab1
 Utp 2015-2_pdi_lab1 Utp 2015-2_pdi_lab1
Utp 2015-2_pdi_lab1
 
Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
 Utp 2015-2_pdi_ea3 conversiones c2_g y negativo Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
Utp 2015-2_pdi_ea3 conversiones c2_g y negativo
 
A153 wee2 procesamientodeimagenesyvisionartificial
A153 wee2 procesamientodeimagenesyvisionartificialA153 wee2 procesamientodeimagenesyvisionartificial
A153 wee2 procesamientodeimagenesyvisionartificial
 
Utp 2015-2_pdi_sap2 iluminacion y modos de color
 Utp 2015-2_pdi_sap2 iluminacion y modos de color Utp 2015-2_pdi_sap2 iluminacion y modos de color
Utp 2015-2_pdi_sap2 iluminacion y modos de color
 
Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
 Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
Utp 2015-2_pdi_ea4 binariz_zoomumbralo_logicas
 
Utp pdi_2015-2_ea7 operaciones morfologicas ii
 Utp pdi_2015-2_ea7 operaciones morfologicas ii Utp pdi_2015-2_ea7 operaciones morfologicas ii
Utp pdi_2015-2_ea7 operaciones morfologicas ii
 

Similaire à Utp pd_iy_va_sap10 detecciòn de bordes

Utp pd_iy_va_sap10 detecciòn de bordes
 Utp pd_iy_va_sap10 detecciòn de bordes Utp pd_iy_va_sap10 detecciòn de bordes
Utp pd_iy_va_sap10 detecciòn de bordes
c09271
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento y
viisonartificial2012
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2
jcbp_peru
 
Utp pd_iy_va_sap7 operaciones morfologicas ii
 Utp pd_iy_va_sap7 operaciones morfologicas ii Utp pd_iy_va_sap7 operaciones morfologicas ii
Utp pd_iy_va_sap7 operaciones morfologicas ii
jcbp_peru
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
jcbp_peru
 
Utp pd_iy_va_sap7 operaciones morfologicas ii
 Utp pd_iy_va_sap7 operaciones morfologicas ii Utp pd_iy_va_sap7 operaciones morfologicas ii
Utp pd_iy_va_sap7 operaciones morfologicas ii
jcbp_peru
 
23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab
Ricardo Villalobos Rojas
 
Análisis de imágenes: reconocimiento de letras
Análisis de imágenes: reconocimiento de letrasAnálisis de imágenes: reconocimiento de letras
Análisis de imágenes: reconocimiento de letras
Sandra Lucia
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2
jcbp_peru
 
Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
 Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
c09271
 
Utp pd_iy_va_sap11 segmentación
 Utp pd_iy_va_sap11 segmentación Utp pd_iy_va_sap11 segmentación
Utp pd_iy_va_sap11 segmentación
c09271
 

Similaire à Utp pd_iy_va_sap10 detecciòn de bordes (20)

Utp pd_iy_va_sap10 detecciòn de bordes
 Utp pd_iy_va_sap10 detecciòn de bordes Utp pd_iy_va_sap10 detecciòn de bordes
Utp pd_iy_va_sap10 detecciòn de bordes
 
Tema4
Tema4Tema4
Tema4
 
Diseño e implementacion.pptx
Diseño e implementacion.pptxDiseño e implementacion.pptx
Diseño e implementacion.pptx
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento y
 
Segmentación imagenes
Segmentación  imagenesSegmentación  imagenes
Segmentación imagenes
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2
 
Utp pd_iy_va_sap7 operaciones morfologicas ii
 Utp pd_iy_va_sap7 operaciones morfologicas ii Utp pd_iy_va_sap7 operaciones morfologicas ii
Utp pd_iy_va_sap7 operaciones morfologicas ii
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Utp pd_iy_va_sap7 operaciones morfologicas ii
 Utp pd_iy_va_sap7 operaciones morfologicas ii Utp pd_iy_va_sap7 operaciones morfologicas ii
Utp pd_iy_va_sap7 operaciones morfologicas ii
 
140j9t1zwvw7elgr8qo1 090527055423-phpapp01
140j9t1zwvw7elgr8qo1 090527055423-phpapp01140j9t1zwvw7elgr8qo1 090527055423-phpapp01
140j9t1zwvw7elgr8qo1 090527055423-phpapp01
 
23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab
 
Cursovision
CursovisionCursovision
Cursovision
 
Análisis de imágenes: reconocimiento de letras
Análisis de imágenes: reconocimiento de letrasAnálisis de imágenes: reconocimiento de letras
Análisis de imágenes: reconocimiento de letras
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2
 
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABUtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
 
Procesamiento de imagenes
Procesamiento de imagenesProcesamiento de imagenes
Procesamiento de imagenes
 
Taller segmentacion
Taller segmentacionTaller segmentacion
Taller segmentacion
 
Taller procesamiento
Taller procesamientoTaller procesamiento
Taller procesamiento
 
Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
 Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
Utp pd_iy_va_sap6y7 diltacion y erosión binaria - apertura y clausura
 
Utp pd_iy_va_sap11 segmentación
 Utp pd_iy_va_sap11 segmentación Utp pd_iy_va_sap11 segmentación
Utp pd_iy_va_sap11 segmentación
 

Plus de jcbp_peru

It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3
jcbp_peru
 
It526 2016 2 pc4 dom
It526 2016 2 pc4 domIt526 2016 2 pc4 dom
It526 2016 2 pc4 dom
jcbp_peru
 
It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4
jcbp_peru
 
It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3
jcbp_peru
 
It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2
jcbp_peru
 
It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2
jcbp_peru
 
33012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-201533012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-2015
jcbp_peru
 
It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1
jcbp_peru
 
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacionUni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
jcbp_peru
 
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricosUni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
jcbp_peru
 
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctricoUni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
jcbp_peru
 
Uni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 gUni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 g
jcbp_peru
 
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3gUni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
jcbp_peru
 
Uni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdmaUni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdma
jcbp_peru
 
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones movilesUni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
jcbp_peru
 
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacionUni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
jcbp_peru
 

Plus de jcbp_peru (20)

It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3It526 2017 1 balotario-s_ap2y3
It526 2017 1 balotario-s_ap2y3
 
It526 2016 2 pc4 dom
It526 2016 2 pc4 domIt526 2016 2 pc4 dom
It526 2016 2 pc4 dom
 
It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4It246 2016 2 practica calificada 4
It246 2016 2 practica calificada 4
 
It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3It246 2016 2 practica calificada 3
It246 2016 2 practica calificada 3
 
It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2It246 2016 2 practica calificada 2
It246 2016 2 practica calificada 2
 
It526 2013 2 ep
It526 2013 2 epIt526 2013 2 ep
It526 2013 2 ep
 
It526 2016 1 ep
It526 2016 1 epIt526 2016 1 ep
It526 2016 1 ep
 
It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2It526 2016 2 practica calificada 2
It526 2016 2 practica calificada 2
 
33012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-201533012 calvo tfw-figura-paterna-2015
33012 calvo tfw-figura-paterna-2015
 
It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1It246 2016 2 practica calificada 1
It246 2016 2 practica calificada 1
 
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacionUni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
Uni fiee ci 2016 02 sesion 3y4 modelos deterministicos de propagacion
 
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricosUni fiee ci 2016 02 sesion 2 servicios inalámbricos
Uni fiee ci 2016 02 sesion 2 servicios inalámbricos
 
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctricoUni fiee ci 2016 02 sesion 1 espectro radioelèctrico
Uni fiee ci 2016 02 sesion 1 espectro radioelèctrico
 
Uni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 gUni wc 2016 1 sesion 14 redes moviles 4 g
Uni wc 2016 1 sesion 14 redes moviles 4 g
 
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3gUni wc 2016 1 sesion 13 redes moviles 2 g y 3g
Uni wc 2016 1 sesion 13 redes moviles 2 g y 3g
 
Lte whitepaper(1)
 Lte whitepaper(1) Lte whitepaper(1)
Lte whitepaper(1)
 
Redes moviles
Redes movilesRedes moviles
Redes moviles
 
Uni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdmaUni fiee ci sesion 12 cdma
Uni fiee ci sesion 12 cdma
 
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones movilesUni fiee ci 2016 01 sesion 11 comunicaciones moviles
Uni fiee ci 2016 01 sesion 11 comunicaciones moviles
 
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacionUni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
Uni fiee ci 2016 01 sesion 10 modelos deterministicos de propagacion
 

Utp pd_iy_va_sap10 detecciòn de bordes

  • 1. Procesamiento de Imágenes y Visión Artificial (WEE2) Sesión: 10 MSc. Ing. José C. Benítez P. Detección de Bordes
  • 2. Logros de aprendizaje 1. Conocer los operadores de detección de bordes de imágenes digitales. 2. Analizar el operador Canny. 3. Aplicar el operador Sobel. 4. Comprender el algoritmo del operador Prewitt. 5. Implementar los algoritmos mediante funciones para operar la detección de bordes en las imágenes digitales. 6. Conocer los métodos de MatLab para cada uno de los operadores de detección de bordes aplicados a las imágenes digitales. 2
  • 3. 3 Contenido Detección de bordes: Introducción. Detección de bordes. Operadores basados en la primera derivada (Gradiente). Operador de Roberts. Operador de Prewitt, Sobel y Frei-Chen. Operador de Canny Ejercicios.
  • 4. Introducción Esquema general del análisis de imágenes 4
  • 5. Detección de bordes Los bordes de una imagen digital se pueden definir como transiciones entre dos regiones de niveles de gris significativamente distintos. Suministran una valiosa información sobre las fronteras de los objetos y puede ser utilizada para segmentar la imagen, reconocer objetos, etc. La mayoría de las técnicas para detectar bordes emplean operadores locales basados en distintas aproximaciones discretas de la primera y segunda derivada de los niveles de grises de la imagen. 5
  • 6. Operadores basadas en la primera derivada (Gradiente). La derivada de una señal continua proporciona las variaciones locales con respecto a la variable, de forma que el valor de la derivada es mayor cuanto más rápidas son estas variaciones. En el caso de funciones bidimensionales f(x,y), la derivada es un vector que apunta en la dirección de la máxima variación de f(x,y) y cuyo módulo es proporcional a dicha variación. Este vector se denomina gradiente y se define: 6
  • 7. Operadores basadas en la primera derivada (Gradiente). En el caso bidimensional discreto, las distintas aproximaciones del operador gradiente se basan en diferencias entre los niveles de grises de la imagen. La derivada parcial fx(x,y) (gradiente de fila GF(i,j) ) puede aproximarse por la diferencia de píxeles adyacentes de la misma fila. 7
  • 8. Operadores basadas en la primera derivada (Gradiente). La discretización del vector gradiente en el eje Y (Gc(i,j)), será: 8 El gradiente de la fila GF y de columna GC en cada punto se obtienen mediante la convolución dela imagen con las máscaras HF y HC, esto es:
  • 9. Operadores basadas en la primera derivada (Gradiente). La magnitud y orientación del vector gradiente suele aproximarse por la expresión: 9 Los operadores más utilizados son los de Roberts, Prewitt, Sobel y Frei-Chen.
  • 10. Operador de Roberts. Las máscaras utilizadas en este operador son: 10 Obtiene buena respuesta ante bordes diagonales. Ofrece buenas prestaciones en cuanto a localización. El gran inconveniente de este operador es su extremada sensibilidad al ruido y por tanto tiene pobres cualidades de detección.
  • 11. Operadores de Prewitt, Sobel y Frei-Chen 11 Los tres operadores pueden formularse de forma conjunta con las siguientes máscaras de convolución mostradas a continuación. En el operador Prewitt (K=1) En el operador Sobel (K=2), En el operador Frei-Chen (K=Ö2 )
  • 12. Operadores de Prewitt, Sobel y Frei-Chen 12 En el operador Prewitt (K=1) se involucran a los vecinos de filas / columnas adyacentes para proporcionar mayor inmunidad al ruido. El operador Sobel (K=2), se supone que es más sensible a los bordes diagonales que el de Prewitt aunque en la práctica hay poca diferencia entre ellos. Frei-Chen (K=√√√√2 ), el gradiente es el mismo para bordes verticales, horizontales y diagonales.
  • 13. Prewitt, Sobel y Frei-Chen en MatLab 13 En Matlab: BW = edge(I,'sobel',thresh,direction) Esta función encuentra los bordes de una imagen de distintos niveles de intensidad. El resultado es una imagen binaria del mismo tamaño que la imagen original en la cual, “1” significa que ha detectado un borde y “0” es que no lo ha detectado. El parámetro thresh indica el umbral de binarización. Si se elige el umbral de binarización, hay que ser consciente de que la función edge normaliza la imagen antes de procesarla, llevándola al intervalo [0,1]. También divide las máscaras empleadas en los filtros por un factor, siendo de 2 para Roberts, 8 para Sobel y 6 para Prewitt..
  • 14. Prewitt, Sobel y Frei-Chen en MatLab 14 Con la función edge se obtiene una imagen de bordes binaria, y se puede obtener con diversos métodos: sobel, prewitt, robert, canny, combinado de suavizado, Laplaciana y operador LOG. Ejemplo: >> im=imread('casa.jpg'); >> im1=rgb2gray(im); >> b1=edge(im1,'sobel','vertical'); >> b2=edge(im1,'sobel','horizontal'); >> b3=edge(im1,'sobel'); >> subplot(2,2,1),subimage(im1),Title('Imagen Original'); >> subplot(2,2,2),subimage(b1),Title('Sobel Vertical'); >> subplot(2,2,3),subimage(b2),Title('Sobel Horizontal'); >> subplot(2,2,4),subimage(b3),Title('Sobel');
  • 15. Prewitt, Sobel y Frei-Chen en MatLab 15
  • 16. Prewitt, Sobel y Frei-Chen en MatLab 16 La función edge también puede indicar el umbral empleado en la detección de bordes: [BW,umbral]=edge(I,’sobel’,…) También se podría aplicar el filtro de Sobel creando una máscara con la función fspecial, imfilter. De esta forma se obtiene una imagen de bordes en escala de grises. Para obtener tanto los bordes horizontales cómo los verticales se utiliza la función imadd.
  • 17. Prewitt, Sobel y Frei-Chen en MatLab 17 Ejemplo: >> im=imread('casa.jpg'); >> im1=rgb2gray(im); >> sf=fspecial('sobel'); >> sc=sf'; >> b1=imfilter(im1,sf); >> b2=imfilter(im1,sc); >> b3=imadd(b1,b2); >> subplot(2,2,1),subimage(im1),Title('Imagen Original'); >> subplot(2,2,2),subimage(b2),Title('Sobel Vertical'); >> subplot(2,2,3),subimage(b1),Title('Sobel Horizontal'); >> subplot(2,2,4),subimage(b3),Title('Sobel');
  • 18. Prewitt, Sobel y Frei-Chen en MatLab 18
  • 19. Prewitt, Sobel y Frei-Chen en MatLab 19 Ejemplo: >> im=imread('casa.jpg'); >> im1=rgb2gray(im); >> b1=edge(im1,'sobel'); >> b2=edge(im1,'prewitt'); >> b3=edge(im1,'canny'); >> subplot(2,2,1),subimage(im1),Title('Imagen Original'); >> subplot(2,2,2),subimage(b1),Title('Sobel'); >> subplot(2,2,3),subimage(b2),Title('Prewitt'); >> subplot(2,2,4),subimage(b3),Title('Canny');
  • 20. Prewitt, Sobel y Frei-Chen en MatLab 20
  • 21. Prewitt, Sobel y Frei-Chen en MatLab 21 Ejemplo: >> im=imread('casa.jpg'); >> im1=rgb2gray(im); >> b1=edge(im1,'roberts'); >> b2=edge(im1,'log'); >> b3=edge(im1,'zerocross'); >> subplot(2,2,1),subimage(im1),Title('Imagen Original'); >> subplot(2,2,2),subimage(b1),Title('Roberts'); >> subplot(2,2,3),subimage(b2),Title('Laplaciano del gaussiano'); >> subplot(2,2,4),subimage(b3),Title('Zerocross');
  • 22. Prewitt, Sobel y Frei-Chen en MatLab 22
  • 23. Prewitt, Sobel y Frei-Chen en MatLab 23 • Antes de aplicar algoritmos de segmentación la imagen de bordes ha de ser binaria. • Para binarizar se pueden utilizar las funciones de Matlab: • graythresh, halla el umbral de binarización • im2bw, binariza la imagen
  • 24. Resumen 24 Realizar un resumen mediante mapas conceptuales (CMapTools) de esta diapositiva. Serán mejor consideradas los resúmenes que tengan información extra a esta diapositiva. Las fuentes adicionales utilizadas en el resumen se presentarán en su carpeta personal del Dropbox y deben conservar el nombre original y agregar al final _S10. Las fuentes y los archivos *.cmap deben colocarse dentro de su carpeta personal del Dropbox, dentro de una carpeta de nombre: PDI_PaternoM_S10 Las Tareas que no cumplan las indicaciones no serán considerados por el profesor.
  • 25. 25 Preguntas El resumen con mapas conceptuales solicitado de la Sesión, al menos debe responder las siguientes preguntas: 1. Definición de borde de una imagen. 2. Explicar la técnica para detectar bordes. 3. Describir el operador de Roberts. 4. Describir el operador de Prewitt. 5. Describir el operador de Sobel. 6. Describir el operador de Fri-Chen. 7. Describir otros operadores de detección de bordes. 8. Realizar una comparación entre los distintos operadores.
  • 26. 26 Procesamiento de Imágenes y Visión Artificial Blog del curso: http://utppdiyva.blogspot.com Sesión 10. Detección de bordes