Beruflich Dokumente
Kultur Dokumente
Visin Artificial
Contenido
Prctica 3
Obtencin de imgenes para procesamiento con Matlab
Determinar la trayectoria de un objeto mediante el centroide
Prctica 4
Aclarar u oscurecer imgenes con histograma
Obtencin del contorno de una figura
Marco Terico
La implementacin de algoritmos en visin por computador resulta muy costoso en tiempo ya que se requiere de la
manipulacin de punteros, gestin de memoria, etc. Hacerlo en lenguaje C++ (que por sus
caractersticas compartidas de alto y bajo nivel lo hacen el ms apropiado para la implementacin de
algoritmos de visin computacional) supondra la inversin de tiempo y sin la seguridad de que lo
queremos implementar funcionar.
Adems utilizar C++ para el periodo de prueba exige un tiempo normal de correccin de errores de bidos
al proceso de implementacin del algoritmo, es decir errores programticos efectuados por ejemplo al momento de
multiplicar dos matrices, etc. Todos estos problemas pueden ser resueltos si la implementacin de prueba es
realizada en MATLAB utilizando algoritmos programados para procesamiento de imgenes con ello el
tiempo de implementacin se convierte en el mnimo con la conanza de utilizar algoritmos cientcamente
probados y robustos.
Se pueden crear algoritmos trabajar con imgenes binarias, trasformaciones geomtricas, mo rfologa y
manipulacin de color que junto con las funciones ya integradas en Matlab permite realizar anlisis y
trasformaciones de imgenes en el dominio de la frecuencia (trasformada de Fourier y Wavlets).
Histograma
El histograma es una representacin global de los tonos de la imagen [4]. Este permite distinguir con datos cuantitativos
entre una imagen luminosa, obscura, con mucho o poco contraste. El histograma es en realidad una grfica de barras de
tonos contra nmero de ocurrencia de estos. En la Figura 4 se muestra una imagen y su histograma.
Ecualizado de Histograma
El ecualizado del histograma es el proceso que tiene como propsito distribuir la frecuencia de los tonos a lo largo del
histograma [4], es decir que la imagen resultante tendr menos contraste que la original, refirase a la Figura 6.
Desarrollo:
Prctica 3: Obtencin y almacenamiento de imgenes
El cdigo obtiene imgenes desde una cmara USB y las almacena en la carpeta de trabajo del 1 al 30
clc,clear all,close all
%video=videoinput('winvideo',2,'YUY_640x480');
video=videoinput('winvideo',1);
set(video,'ReturnedColorSpace','rgb');
start(video);
preview(video)
%pause
tic
for i=1:30
%tic
numero=num2str(i);
nombre=strcat('salida',numero,'.jpg');
foto=getsnapshot(video);
imwrite(foto,nombre);
%toc
end
toc
A continuacin se muestran las imgenes obtenidas(solo se muestran las 10 primeras para ahorrar papel):
end
centrofila=480-((final-inicio)/2)-inicio;
centrocolumna=((final2-inicio2)/2)+inicio2;
plot(centrocolumna,centrofila,'*')
hold on
end
500
450
400
350
300
250
200
150
100
200
300
400
500
600
100
200
300
400
500
600
Se utilizaron 2 imagenes:
Primera imagen:
Original
Aclarada
Como se puede ver en la grfica del histograma se trata de una imagen obscura por lo que el programa la aclara:
5
x 10
3.5
3
2.5
2
1.5
1
0.5
0
50
100
150
200
250
300
250
300
50
100
150
200
Segunda Imagen:
Original
Obscurecida
En este caso se observa en el histograma que se trata de una imagen clara por lo que se obscurece:
5
2.5
x 10
1.5
0.5
50
100
150
200
250
300
Acumulado de probabilidades:
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
50
100
150
200
250
300
Conclusiones:
Estas prcticas, me permitieron entender mas las teoras de color que hemos estado viendo en clase, como es que estas
procesan los colores y a su vez como se ubican en un plano, conceptos como la iluminacin, saturacin, brillo, que antes
no comprenda de una forma tan clara como ahora puedo entender, el uso de las matrices de transformacin de un
espacio a otro, y la diferencia de usos de los mismos.
En mi mente rondan ideas de cmo utilizar este tipo de conceptos en los procesos industriales, como los ejemplos de
segmentacin que tambin estuvimos utilizando, en esta prctica.
Dentro de los espacios de colores podemos encontrar una amplia gama de opciones dentro de las cuales cada una tiene
sus ventajas y desventajas en cuanto al procesamiento de imgenes se refiere, en este caso observamos que para la
segmentacin por color el espacio HSV presenta una gran ventaja frente al RG B ya que este ltimo es muy sensible a
las variaciones de iluminacin, mientras que el espacio HSV presenta una forma sencilla de segmentar la imagen y
obtener excelentes resultados lo cual ser de mucha utilidad para los proyectos de la asignatura.
Se lleg a la conclusin de que el segmentado por RGB es muy complicado ya que las imgenes sufren muchsimos
cambios causados por la iluminacin y establecer un valor fijo para la segmentacin es muy complicado y variable, por lo
tanto, es ms recomendable segmentar por algn otro mtodo como puede ser el HSV.
Tambin pudimos transformar una imagen de color a escala de grises mediante la matriz para transformar de RGB a
HSV y se comprob que segmentar en HSV es mucho ms fcil.
En el laboratorio cuando se ejecuto el programa de segmentacin, pudimos observar que al formato RGB, le afecta el
nivel de iluminacin de la imagen, es decir, los colores se ven afectados por la calidad de la iluminacin con la que se
tom la imagen, por lo tanto, nos apoyamos en la conversin del formato RGB a otro que minimice el error provocado por
la calidad de la iluminacin, por ejemplo, en la practica transformamos al formato HSV para poder interpretarla en el
cdigo y segmentarla.
Hicimos tambin la transformacin de una imagen a color a escala de grises, cuidando que la imagen, no estuviera ya en
escala de grises, en el caso de que se diera, pudimos determinarlo mientras el cdigo se ejecutaba, enviando un
mensaje de error.
Bibliografa:
http://www.dzoom.org.es/noticia-3500.html
http://es.wikipedia.org/wiki/Modelo_de_color_RGB