Documente Academic
Documente Profesional
Documente Cultură
CURSO
: LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMGENES
DOCENTE
PRACTICA
: CUATRO
TEMA
HORARIO
: JUEVES 7 a 9 a.m.
ESTUDIANTES
20104246
Arequipa 2014
CUI:
CUI:
Contenido
1.
OBJETIVOS.............................................................................................................. 2
2.
CONOCIMIENTOS PREVIOS..................................................................................... 2
3.
PROCEDIMIENTO.................................................................................................... 2
3.1.
Introduccin..................................................................................................... 2
3.2.
Obtencin de la imagen................................................................................... 2
3.3.
Procesamiento de imgenes............................................................................ 4
4.
PROGRAMA EN MATLAB.......................................................................................... 4
5.
CONCLUSIONES...................................................................................................... 6
6.
OBSERVACIONES.................................................................................................... 7
1. OBJETIVOS
-
2. CONOCIMIENTOS PREVIOS
-
3. PROCEDIMIENTO
3.1. Introduccin
El procesamiento de imgenes es una etapa intermedia dentro de una
aplicacin de visin por computador, antes se debe obtener la imagen. Para
una aplicacin en particular, el tiempo de procesado y obtencin de la
imagen debe ser menor que el tiempo de ciclo de control. En esta prctica
no se tomara en cuenta estos tiempos, pues estas dos etapas se realizaran
fuera de lnea.
M pq= x y I (x , y )
p
x=1 y=1
M 01= x 0 y 1 I (x , y)
x=1 y=1
M 10= x y I (x , y)
1
x=1 y=1
M 00= x 0 y 0 I ( x , y )
x=1 y=1
C x=
C y=
M 10
M 00
M 01
M 00
4. PROGRAMA EN MATLAB
close all
clear all
clc
info=imaqhwinfo
info=imaqhwinfo('winvideo')
info.DeviceInfo
info.DeviceInfo.SupportedFormats
%% en estas cuatro lineas anteriores como se explica en el informe son para
comprobar que esta
%% instalado los controladores de los diferentes dispositivos de adquisicion de
imagenes correctamente
%% y tambien saber los estadares de video que soportan.
%imaqtool; % este comando es para ver un guide de matlab que tambien nos da
%un previo de los formatos de la camara, y tambien tiene los comandos para
%poner el RGB o escala de grises
vid=videoinput('winvideo',1,'YUY2_640x480')% la camara con la que vamos a
trabajar
% es el dispositivo numero 1 y el cual le pusiomos el formato que
% soporta YUY2 con 640x480 de resolucion
preview(vid)% con este comando vemos un previo de hacia donde esta
apuntando el
% la camara como se muestra en el video
foto=getsnapshot(vid);% con este comando adquirimos la imagen
image(foto)% la mostramos la imagen adquirida
imwrite(foto,'prueba.jpg');%aqui la guardamos la imagen en un fichero
I=imread('prueba.jpg');% leemos la imagen guardada
imshow(I);% la mostramos
umbral=graythresh(foto); % determina un umbral y resta la imagen
bw=im2bw(foto,umbral);
% convierte la imagen a una forma binaria
%bw=1-bw;
s=strel('disk',1); % elemento estructural de radio 5
bw=imopen(bw,s); % operacion morfologica de apertura
figure, imshow(bw)
[N M]= size(bw);
for i=1:N
for j=1:M
if i<5 | i>(N-5) | j<5 | j>(M-5)
bw(i,j)=0;
end
end
end
figure, imshow(bw)
s=strel('disk',5); % elemento estructural de radio 5
bw=imopen(bw,s); % operacion morfologica de apertura
figure, imshow(bw)
% centro de gravedad
M00=0;M10=0;M01=0;
M20=0;M02=0;;M11=0;
for i=1:N
for j=1:M
if(bw(i,j)==1) %(SI ES UNA IMAGEN BLANCA)
M00=M00+1; % ENTONCES
M10=M10+j; % SUMATORIA DE LOS MOMENTOS DE LA IMAGEN
M01=M01+i;
M20=M20+j*j; % VER LA ECUACION DE LOS MOMENNTOS CENTRALES DE ORDEN
PQ
M02=M02+i*i;
M11=M11+i*j;
end
end
end
cx=M10/M00;
cy=M01/M00;
disp(cx);
disp(cy);
u00=M00; % ver ecuacion en copias de momentos centrales en forma resumida,
u20=M20-cx*M10;% ver ecuacion en copias de momentos centrales en forma
resumida,
u02=M02-cy*M01;% ver ecuacion en copias de momentos centrales en forma
resumida,
u11=M11-cy*M10;% ver ecuacion en copias de momentos centrales en forma
resumida,
hold on
plot(cx,cy,'rs');
%eje mayor
l=sqrt((u20+u02+sqrt(((u20-u02)^2)+(4*u11^2)))/(u00/2))
%eje menor
w=sqrt((u20+u02-sqrt(((u20-u02)^2)+(4*u11^2)))/(u00/2))
%orientcion eje mayor
th=0.5*atan2(2*u11,(u20-u02))% atan arco tangente en cuatro cuadrantes
% coordenadas eje mayor
p1=[cx+0.5*l*cos(th) cy+0.5*l*sin(th)];
p2=[cx-0.5*l*cos(th) cy-0.5*l*sin(th)];
%coordenadas eje menor
p3=[cx+0.5*w*sin(th) cy-0.5*w*cos(th)];
p4=[cx-0.5*w*sin(th) cy+0.5*w*cos(th)];
line([p1(1,1) p2(1,1)],[p1(1,2) p2(1,2)]); % une con una linea 2 puntos
line([p3(1,1) p4(1,1)],[p3(1,2) p4(1,2)]); % une con una linea 2 puntos
disp(th*180/pi)% vemos el angulo de inclinacion
5. CONCLUSIONES
-
6. OBSERVACIONES
-
Para que nos reconozca la cmara el MATLAB pues se tiene que instalar un
controlador y que el MATLAB 2014 no cuenta con esa librera, en las
anteriores versiones ya venan, esa librera se descarga gratis desde el
mismo MATLAB
Para hacer un buen procesamiento de imgenes se tiene que ver que la
cmara mayores estndares de video, ya que las imgenes pueden variar.
Tambin se debe tener en cuenta la iluminacin del ambiente, este
parmetro es muy importante