bordes imagen

March 29, 2018 | Author: Eduardo Novoa | Category: Image Segmentation, Gradient, Euclidean Vector, Derivative, Areas Of Computer Science


Comments



Description

Detección de bordes en una imagen.Departamento de Ingeniería electrónica, Telecomunicación y Automática. Área de Ingeniería de Sistemas y Automática Este vector se denomina gradiente y se define: En el caso bidimensional discreto. 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..1. Detección de bordes en una imagen. será: Área de Ingeniería de Sistemas y Automática. Los bordes de una imagen digital se pueden definir como transiciones entre dos regiones de niveles de gris significativamente distintos. Operadores basadas en la primera derivada (Gradiente). En el caso de funciones bidimensionales f(x.j) ) puede aproximarse por la diferencia de píxeles adyacentes de la misma fila.y) (gradiente de fila GF(i. 1 DETECCIÓN DE BORDES.y).y) y cuyo módulo es proporcional a dicha variación.Práctica 3ª. OBJETIVOS: • Utilizar distintas máscaras empleadas para la detección de bordes. Segmentación. las distintas aproximaciones del operador gradiente se basan en diferencias entre los niveles de grises de la imagen. Curso 2005/2006 . Suministran una valiosa información sobre las fronteras de los objetos y puede ser utilizada para segmentar la imagen. La derivada de una señal continua proporciona las variaciones locales con respecto a la variable. la derivada es un vector que apunta en la dirección de la máxima variación de f(x. La derivada parcial fx(x. 1. La discretización del vector gradiente en el eje Y (GC(i.j)). reconocer objetos. etc. de forma que el valor de la derivada es mayor cuanto más rápidas son estas variaciones. j ) ⊗ H C (i. Las máscaras utilizadas en este operador son: Gradiente fila Gradiente columna 0 0 0 0 0 -1 0 1 0 -1 0 0 0 1 0 0 0 0 Obtiene buena respuesta ante bordes diagonales. esto es: G F (i. Sobel y Frei-Chen. Detección de bordes en una imagen. Área de Ingeniería de Sistemas y Automática. j ) = G F + GC ≈ G F (i. Prewitt y Sobel y Frei-chen. Frei-Chen (K= 2 ). El gran inconveniente de este operador es su extremada sensibilidad al ruido y por tanto tiene pobres cualidades de detección. j ) Los operadores más utilizados son los de Roberts. Los tres operadores pueden formularse de forma conjunta con las siguientes máscaras de convolución mostradas a continuación. j ) GC (i. j ) = F (i. el gradiente es el mismo para bordes verticales. El gradiente de la fila GF y de columna GC en cada punto se obtienen mediante la convolución de la imagen con las máscaras HF y HC. Operador de Roberts. j ) ⊗ H F (i. Ofrece buenas prestaciones en cuanto a localización. Segmentación. 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. j ) La magnitud y orientación del vector gradiente suele aproximarse por la expresión: 2 2 G (i. 1 2+ K 1 2+ K El operador Sobel (K=2). horizontales y diagonales..Práctica 3ª. Gradiente fila Gradiente columna -1 -K -1 0 1 0 1 K 1 En el operador Prewitt (K=1) se involucran a los vecinos de filas / columnas adyacentes para proporcionar mayor inmunidad al ruido. j ) = F (i. Curso 2005/2006 1 K 1 0 0 0 -1 -K -1 . Operadores de Prewitt. j ) + GC (i. hay que ser consciente de que la función edge normaliza la imagen antes de procesarla. >>b3=edge(im1. >>subplot(2.4). También divide las máscaras empleadas en los filtros por un factor.3).subimage(im1). Detección de bordes en una imagen. “1” significa que ha detectado un borde y “0” es que no lo ha detectado. >>im1=imread('D:\visión por computador\imagenes\casa. >>b1=edge(im1.1).'sobel'. El parámetro thresh indica el umbral de binarización.'sobel'.thresh.'horizontal'). Curso 2005/2006 .subimage(b3).'sobel').2..'sobel'. >>subplot(2.'vertical'). y se puede obtener con diversos métodos: sobel. >>subplot(2. Área de Ingeniería de Sistemas y Automática. canny. siendo de 2 para Roberts.2). BW = edge(I. robert. El resultado es una imagen binaria del mismo tamaño que la imagen original en la cual.subimage(b1). 8 para Sobel y 6 para Prewitt.Práctica 3ª.2.Title('Sobel Horizontal'). En Matlab la función que detecta bordes es edge.Title('Imagen Original'). >>b2=edge(im1. Con esta función se obtiene una imagen de bordes binaria. >>subplot(2.subimage(b2). llevándola al intervalo [0. prewitt. Segmentación.2. operador LOG.Title('Sobel Vertical').2.jpg'). Si se elige el umbral de binarización.direction) Esta función encuentra los bordes de una imagen de distintos niveles de intensidad.1].Title('Sobel'). combinado de suavizado y Laplaciana. subimage(b3). La función edge también puede indicar el umbral empleado en la detección de bordes: [BW. Detección de bordes en una imagen. >>b3=imadd(b1.b2). >>subplot(2. >>sf=fspecial('sobel'). >>subplot(2.sc).jpg'). >>b1=imfilter(im1.Title('Imagen Original').sf).umbral]=edge(I. >>b2=imfilter(im1.subimage(b1). >>subplot(2.2. >>im1=imread('D:\visión por computador\imagenes\casa.2.2. De esta forma se obtiene una imagen de bordes en escala de grises.…) También se podría aplicar el filtro de Sobel creando una máscara con la función fspecial.1). Para obtener tanto los bordes horizontales cómo los verticales se utiliza la función imadd.2).subimage(b2).Title('Sobel').Title('Sobel Vertical').subimage(im1). imfilter. Área de Ingeniería de Sistemas y Automática. Curso 2005/2006 .4).Práctica 3ª.3).2. Segmentación. >>sc=sf'.Title('Sobel Horizontal').’sobel’.. >>subplot(2. Hallar la imagen de bordes binaria de la imagen “lena.jpg”. 2. Para binarizar se pueden utilizar las funciones de Matlab graythresh. utilizar para esto el filtro de sobel.gif”. Ejercicios 1. binariza la imagen.. Área de Ingeniería de Sistemas y Automática. Detectar primero los bordes horizontales.Práctica 3ª. Realizar lo mismo pero en este caso no se empleará la función edge. luego los verticales y componer en último lugar la imagen formada de bordes horizontales y verticales. Detección de bordes en una imagen. Curso 2005/2006 . Antes de aplicar algoritmos de segmentación la imagen de bordes ha de ser binaria. Segmentación. aplicando todos los filtros posibles que admite la función edge. Detectar los bordes de la imagen “bridge. halla el umbral de binarización y la función im2bw. Detección de bordes en una imagen.. Curso 2005/2006 .Práctica 3ª. Segmentación. Área de Ingeniería de Sistemas y Automática.
Copyright © 2024 DOKUMEN.SITE Inc.