Download - Detección de bordes de una imagen en Matlab
![Page 1: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/1.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Deteccion de bordes de una imagen
Luis Marchena
Escuela politecnicaUniversidad de Extremadura
![Page 2: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/2.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Esquema
1 Introduccion.Concepto:
2 Desarrollo teoricoMetodos de aproximacion a la derivadaDerivadas de orden dos y tresDerivadas de orden dos y tresDerivadas de orden dos y tresTaylor y la derivada.Ejemplo.Ejemplo.
3 Deteccion de bordesDeteccion de bordes.
MejorasBordes en color
![Page 3: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/3.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Esquema
1 Introduccion.Concepto:
2 Desarrollo teoricoMetodos de aproximacion a la derivadaDerivadas de orden dos y tresDerivadas de orden dos y tresDerivadas de orden dos y tresTaylor y la derivada.Ejemplo.Ejemplo.
3 Deteccion de bordesDeteccion de bordes.
MejorasBordes en color
![Page 4: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/4.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Esquema
1 Introduccion.Concepto:
2 Desarrollo teoricoMetodos de aproximacion a la derivadaDerivadas de orden dos y tresDerivadas de orden dos y tresDerivadas de orden dos y tresTaylor y la derivada.Ejemplo.Ejemplo.
3 Deteccion de bordesDeteccion de bordes.
MejorasBordes en color
![Page 5: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/5.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Esquema
1 Introduccion.Concepto:
2 Desarrollo teoricoMetodos de aproximacion a la derivadaDerivadas de orden dos y tresDerivadas de orden dos y tresDerivadas de orden dos y tresTaylor y la derivada.Ejemplo.Ejemplo.
3 Deteccion de bordesDeteccion de bordes.
MejorasBordes en color
![Page 6: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/6.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Introduccion
Derivadas⇒ ¿Que tienen que ver las derivadas con los bordes de unaimagen?⇒ Aplicacion sobre la imagen.Como hacemos que:
Resultados
Que esta imagen
Pase a esta otra
¿Como haremos los bordes en color?
![Page 7: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/7.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Introduccion
Derivadas⇒ ¿Que tienen que ver las derivadas con los bordes de unaimagen?⇒ Aplicacion sobre la imagen.Como hacemos que:
Resultados
Que esta imagen
Pase a esta otra
¿Como haremos los bordes en color?
![Page 8: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/8.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Introduccion
Derivadas⇒ ¿Que tienen que ver las derivadas con los bordes de unaimagen?⇒ Aplicacion sobre la imagen.Como hacemos que:
Resultados
Que esta imagen
Pase a esta otra
¿Como haremos los bordes en color?
![Page 9: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/9.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Derivadas. Metodo de diferencias finitas
1.1-Concepto de derivada:Geometricamente, la derivada de una funcion en un punto es la pendientede la recta tangente en ese punto.
¿Para que nos sirve esto?
![Page 10: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/10.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Derivadas. Metodo de diferencias finitas
1.2 -¿Como vamos a calcular la aproximacion de derivada?Mediante rectas secantes entre dos puntos vamos a aproximar la tangentehaciendo cada vez menor la distancia entre esos puntos. La pendiente de lasrectas secantes se puede calcular de tres formas:
Metodo de diferencias progresivas: f(x) =f(x+ h)− f(x)
h
Metodo de diferencias regresivas: f(x) =f(x)− f(x− h)
h
Metodo de diferencias centradas: f(x) =f(x+ h)− f(x− h)
2h
![Page 11: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/11.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Derivadas. Metodo de diferencias finitas
1.3 Derivadas de orden dos y tres:
Progresivas:
Regresivas:
Centradas:
![Page 12: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/12.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Derivadas. Metodo de diferencias finitas
1.3 Derivadas de orden dos y tres:
Progresivas:
Regresivas:
Centradas:
![Page 13: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/13.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Derivadas. Metodo de diferencias finitas
1.3 Derivadas de orden dos y tres:
Progresivas:
Regresivas:
Centradas:
![Page 14: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/14.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Taylor y la derivada.
1.4 Taylor y la derivada.
Ejemplo
Veamos que ocurre si desarrollamos f(x+ h)
![Page 15: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/15.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-POLINOMIO DE INTERPOLACION DE LAGRANGE Y SUDERIVADA.
Ejemplo:
S = [(0, 0,3927), (0,2, 0,5672), (0,4, 0,6982), (0,6, 0,7941), (0,8, 0,8614), (1, 0,9053)]
![Page 16: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/16.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
1-Aproximacion por diferencias finitas
Ejemplo:
Por el comando diff (rojo): y = 0′6533x + 0′44161 y por diferencias finitas(verde):y = 0′6550x + 0′4411
![Page 17: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/17.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Gradiente: La derivada proporciona variaciones locales de la variable, elvalor de la derivada es mayor cuanto mayores son las variaciones.En el caso de las funciones bidimensionales la derivada es un vector queapunta a la maxima variacion de f(x,y). A este vector se le llama gradiente.
∇f(x, y) =
[∂f(x,y)
∂x∂f(x,y)
∂y
]Mag[∇f(x, y)] =
√(∂f(x, y)
∂x
)2
+
(∂f(x, y)
∂y
)2
![Page 18: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/18.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
¿Como podemos aplicar esto a una imagen digital?
∂f(x, y)
∂x≈ ∇xf(x, y) = f(x, y)− f(x− 1, y)
∂f(x, y)
∂y≈ ∇yf(x, y) = f(x, y)− f(x, y − 1)
|G(i, j)| =√Gf
2 +Gc2≈ Gf (i, j) +Gc(i, j)
![Page 19: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/19.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
¿Como podemos aplicar esto a una imagen digital?
∂f(x, y)
∂x≈ ∇xf(x, y) = f(x, y)− f(x− 1, y)
∂f(x, y)
∂y≈ ∇yf(x, y) = f(x, y)− f(x, y − 1)
|G(i, j)| =√Gf
2 +Gc2≈ Gf (i, j) +Gc(i, j)
![Page 20: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/20.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Vamos a ver como queda en matlab y que sucede realmente en la imagen:
Original GradienteAmpliada
![Page 21: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/21.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Aplicando el modulo del gradiente de la intensidad de la imagen:
Resultados
Imagen Original
Aplicando la funcion gradient
Aplicando la aproximacion vista
![Page 22: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/22.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Aplicando el modulo del gradiente de la intensidad de la imagen:
Resultados
Imagen Original
Aplicando la funcion gradient
Aplicando la aproximacion vista
![Page 23: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/23.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Aplicando el modulo del gradiente de la intensidad de la imagen:
Resultados
Imagen Original
Aplicando la funcion gradient
Aplicando la aproximacion vista
![Page 24: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/24.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Gradiente de una imagen
Aplicando el modulo del gradiente de la intensidad de la imagen:
Resultados
Imagen Original
Aplicando la funcion gradient
Aplicando la aproximacion vista
![Page 25: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/25.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Aplicando el filtro de Prewitt en el cual consideramos los pıxeles (i+1,j) y(i-1,j) en la direccion x, (i,j-1) y (i,j+1) en el eje y.
Resultados
Imagen Original
Aplicando Prewitt
![Page 26: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/26.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Aplicando el filtro de Prewitt en el cual consideramos los pıxeles (i+1,j) y(i-1,j) en la direccion x, (i,j-1) y (i,j+1) en el eje y.
Resultados
Imagen Original
Aplicando Prewitt
![Page 27: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/27.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Aplicando el filtro de Prewitt en el cual consideramos los pıxeles (i+1,j) y(i-1,j) en la direccion x, (i,j-1) y (i,j+1) en el eje y.
Resultados
Imagen Original
Aplicando Prewitt
![Page 28: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/28.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Para aplicar el filtro de Canny debemos hacer la derivada gaussiana en x ey, esto es:
∂f(x, y)
∂x=−x
2πσ4e− x
2−y2
2σ2
∂f(x, y)
∂y=−y
2πσ4e− x
2−y2
2σ2
Resultados
Imagen Original
Aplicando Canny
![Page 29: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/29.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Para aplicar el filtro de Canny debemos hacer la derivada gaussiana en x ey, esto es:
∂f(x, y)
∂x=−x
2πσ4e− x
2−y2
2σ2
∂f(x, y)
∂y=−y
2πσ4e− x
2−y2
2σ2
Resultados
Imagen Original
Aplicando Canny
![Page 30: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/30.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Mejoras
Filtros mejorados
Para aplicar el filtro de Canny debemos hacer la derivada gaussiana en x ey, esto es:
∂f(x, y)
∂x=−x
2πσ4e− x
2−y2
2σ2
∂f(x, y)
∂y=−y
2πσ4e− x
2−y2
2σ2
Resultados
Imagen Original
Aplicando Canny
![Page 31: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/31.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Imagenes en color
Vamos a ver que pasa si queremos ver los bordes en color. Para eso hay quedescomponer la imagen en sus tres planos RGB.
Resultados
Imagen Original
Aplicando el gradiente
Aplicando Prewitt
Aplicando Canny
![Page 32: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/32.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Imagenes en color
Vamos a ver que pasa si queremos ver los bordes en color. Para eso hay quedescomponer la imagen en sus tres planos RGB.
Resultados
Imagen Original
Aplicando el gradiente
Aplicando Prewitt
Aplicando Canny
![Page 33: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/33.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Imagenes en color
Vamos a ver que pasa si queremos ver los bordes en color. Para eso hay quedescomponer la imagen en sus tres planos RGB.
Resultados
Imagen Original
Aplicando el gradiente
Aplicando Prewitt
Aplicando Canny
![Page 34: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/34.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Imagenes en color
Vamos a ver que pasa si queremos ver los bordes en color. Para eso hay quedescomponer la imagen en sus tres planos RGB.
Resultados
Imagen Original
Aplicando el gradiente
Aplicando Prewitt
Aplicando Canny
![Page 35: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/35.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Imagenes en color
Vamos a ver que pasa si queremos ver los bordes en color. Para eso hay quedescomponer la imagen en sus tres planos RGB.
Resultados
Imagen Original
Aplicando el gradiente
Aplicando Prewitt
Aplicando Canny
![Page 36: Detección de bordes de una imagen en Matlab](https://reader031.vdocuments.co/reader031/viewer/2022020410/58ed85451a28abf0618b4667/html5/thumbnails/36.jpg)
Introduccion. Desarrollo teorico Deteccion de bordes
Bordes en color
Bibliografia
http : //www.uam.es/personalpdi/ciencias/pangulo/edpan/cap3.pdf
http : //webs.uvigo.es/calculo.infinitesimal/P5cal.pdf
http : //www.unioviedo.es/compnum/laboratoriosweb/laborat07deriv/laboratorio07deriv.html
http : //www.uhu.es/cristobal.garcia/descargas/AnalisisNumericoITema5.pdf
http : //www4.ujaen.es/ satorres/practicas/practica3vc.pdf
http : //www2.fisica.unlp.edu.ar/materias/procesamientodeimagenes/Clase5imagenes2011.pdf
http : //iimyo.forja.rediris.es/matlab/cursolatex005.html