tecnicas de segmentacion imagenes
DEPARTAMENTO DE ELECTRÓNICA,
AUTOMÁTICA
E
INFORMÁTICA
INDUSTRIAL
Prácticas de Robótica y Visión Artificial
Práctica 5
Prácticas de Segmentación de las imágenes
5.2
Técnicas de segmentación de imágenes
5
TÉCNICAS DE SEGMENTACIÓN DE LAS IMÁGENES ...............................................3
5.1
TRANSFORMADAS DEHOUGH............................................................................................3
5.2
UMBRALIZACIÓN ................................................................................................................6
5.3
SEGMENTACIÓN ORIENTADO A LAS REGIONES ................................................................8
5.3.1
TÉCNICAS DE DIVISIÓN Y FUSIÓN (SPLIT & MERGE) Y ÁRBOLESCUATERNARIOS (QUADTREE) ....................................................................................................9
Departamento de Electrónica, Automática e Informática Industrial
Escuela Universitaria de Ingeniería Técnica Industrial
Técnicas de segmentación de imágenes
5.3
5
Técnicas de segmentación de las
imágenes
En esta práctica se tratará de experimentar conlas técnicas clásicas de
segmentación de imágenes empleando “Image Procesing Toolbox” de Matlab. Segmentar
es dividir la imagen en regiones con interés; crear una descripción visual de nivel medio.
La práctica se inicializará exponiendo la técnica basadas en las transformadas de Hough
para líneas rectas y círculos. Luego se emplearán las técnicas de umbralización
combinadas con elprocesamiento morfológico y la extracción de las características de los
objetos segmentados. Y para acabar, se usarán los métodos de crecimiento de regiones y
algoritmos basados en técnicas de dividir y fusionar (split & merge), empleando árboles
cuaternarios (quadtree).
5.1 Transformadas de Hough
Las transformadas de Hough determinan la localización de curvas parametrizadas
dentro de una imagen. Eneste caso se emplearán para la localización de líneas rectas y
círculos. La entrada a este algoritmo es una imagen binarizada, donde se ha etiquetado los
píxeles representantes de los bordes con el nivel ‘1’ y al fondo se le coloca con nivel ‘0’.
Para esta práctica se he elegido el detector de Canny. Sitúese en el directorio de
/Segmentacion/Houhg, cargue la imagen de los cables de unteleférico y aplique el detector
de Canny:
>> imgEnt=imread('cables_gris.bmp');imshow(imgEnt);pause;
>> imgBorde=edge(imgEnt,'canny');imshow(imgBorde);
Departamento de Electrónica, Automática e Informática Industrial
Escuela Universitaria de Ingeniería Técnica Industrial
5.4
Técnicas de segmentación de imágenes
Varíe los parámetros del detector de Canny para mejorar los resultados deetiquetación de los bordes. Considérese que sólo se desea determinar las líneas de gran
extensión. El siguiente paso será preparar el espacio paramétrico y aplicar posteriormente
la transformación:
>>theta = 0:180;
>>[acum,rho] = radon(imgBorde,theta);
>>imagesc(theta,rho,acum), colorbar;
>>xlabel ('theta (grados)'), ylabel ('rho (pixeles desde el centro)')
>>title('Espacio de líneas');
Una vezrealizada la transformación, la selección de las rectas dependerá del
umbral colocado en las votaciones. La transformada de Hough hace del espacio
paramétrico una rejilla de votaciones; por cada píxel seleccionado da unos votos a cada
celda elegida según la variación del ángulo de la normal de la recta, θ. Sólo se
considerarán aquellas rectas que superen ese umbral que serán las que serepresenten:
>> [x,y] = find(acum>100);
>>hold on; plot(theta(y),rho(x),'*r');hold off;
>>t = -theta(y')*pi/180;pause;
>>lineas = [cos(t)' sin(t)' -rho(x)];
>>cy = size(imgEnt,1)/2-1;
>>cx = size(imgEnt,2)/2-1;
>>lineas(:,3) = lineas(:,3) - lineas(:,1)*cx - lineas(:,2)*cy;
>>imshow(imgEnt);
>>draw_lines(lineas);
Haga una función en Matlab donde pueda decirle el nombre del fichero de la...
Regístrate para leer el documento completo.