SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Universidad Politécnica de
       Guanajuato
        Sistemas de Visión.




        Montero Gómez Miguel Eduardo
         migue_litomg@hotmail.com

             17 de julio del 2012
Sistemas de visón.


                         ÍNDICE



I.-Resumen………………………………………………………………………………..2

II.-Introducción…………………………………………………………………………….3

III.-Objetivo...……………………………………………………………………………….4

IV.-Planteamiento del problema……………………………………………..…………..5

V.-Justificación…………………………………………………………………………….6

VI.-Desarrollo………………………………………………………………………...…….7

VII.-Código……...……………………………………………………………………..….12

VIII.-Bibliografías…………………………………………………………………………49




                           1
Sistemas de visón.


                                 1.- RESUMEN.

Los problemas que hoy en dia se tienen en los sistemas de vision son muy
complejos, en este reporte se atacara un problema en donde se tienen 20
imágenes en donde hay 3 piezas circulares fijas Fig1.1 y se tiene un solo elemento
movil el cual tendra distinta ubicación en las 20 fotografias , se desarrollara un
programa en Matlab para que se pudea identificar los elementos fijos y se grafique
en otra foto para este caso en particular se llamara foto 21 en ella contendra la
ubicación de los puntos fijos y la trayectoria de la pieza movil con respecto alas 20
fotos.




                                          2
Sistemas de visón.



                             2.- INTRODUCCIÓN.

Aunque en las últimas dos décadas los sistemas de visón han cambiado mucho
los problemas que tienen no, como todo problema de un sistema de visón se trata
de ayudar a la computadora a entender y tratar de darle la capacidad de ver el
mundo como nosotros lo vemos pero para este camino aún falta mucho trayecto
así que en este reporte se explicara el proceso en donde se han captado mediante
una cámara y un ambiente controlado con iluminación y fondo 20 imágenes de
interés para el análisis de las fotos para determinar la trayectoria de un elemento
móvil en 20 fotos distinta, sin cambiar su tamaño o forma bidimensional.

Los problemas que hoy en dia se tienen en los sistemas de vision son muy
complejos, en este reporte se atacara un problema en donde se tienen 20
imágenes en donde hay 3 piezas circulares fijas Fig1.1 y se tiene un solo elemento
movil el cual tendra distinta ubicación en las 20 fotografias , se desarrollara un
programa en Matlab para que se pudea identificar los elementos fijos y se grafique
en otra foto para este caso en particular se llamara foto 21 en ella contendra la
ubicación de los puntos fijos y la trayectoria de la pieza movil con respecto alas 20
fotos.




                                          3
Sistemas de visón.


                                  3.- OBJETIVO.

Conocer los objetos fijos y móviles de una serie de 20 fotos y graficar de manera
representativa en Matlab la trayectoria del objeto fijo en una sola foto.




                                           4
Sistemas de visón.
                  4.- PLANTEAMIENTO DEL PROBLEMA

Se tiene una serie de 20 fotos tomadas en condiciones contralas en una cámara
de visión, se plantea desarrollar un código en Matlab para que la computadora sea
capaz de determinar foto por foto los puntos fijos y la trayectoria que generara los
puntos móviles.




                                         5
Sistemas de visón.


                            5.- JUSTIFICACIÓN.

Esta investigación fue realizada con el solo fin específico de conocer los objetos
fijos y móviles en una serie de 20 fotos y determinar sus propiedades de cada foto
como área, centroides y aplicaciones para procesamiento como dilatación y
erosión.




                                        6
Sistemas de visón.


                              6.- DESARROLLO



Proceso:




1.- Se cargan las 20 fotos al sistema




Muestra de fotos.
Figura 1.1.




                                        7
Sistemas de visón.

2.- Se binariza la foto:




Foto binarizada
Figura 1.2


3.- Se realiza un corte para eliminar una sección que no son sirve.




Figura 1.3 Recorte de basura binarizada en Matlab




                                              8
Sistemas de visón.

4.- Se invierte binarización.




Figura 1.4 Se invierte Binarización

5.- Empieza la parte de procesamiento de imagen

6.- Se aplican 4 dilataciones




Figura 1.5 Se Aplican 4 Dilataciones



                                       9
Sistemas de visón.

7.- Se aplica 1 erosión.




Figura 1.6 Se aplica una Erosión.


Al obtener esta última foto podemos ya obtener propiedades, al aplicar a la foto un proceso para
encontrar áreas, encontraremos todas las áreas que tengan la imagen Figura1.6, obtendremos un
total de 29 áreas demasiado pequeñas 3 áreas muy grandes que serán identificadas como los
puntos fijos y una área más chica que será identificada como nuestro punto fijo y obtener
ordenadas de los 4 objetos y así graficarlos en otra foto.
La manera de separar estas 29 áreas que no nos sirves es con un ciclo FOR que se mostrara al
final.




                                                  10
Sistemas de visón.

En esta foto podemos observar que se obtuvieron las coordenadas de los puntos fijos y se
graficaron en otra foto distinta en forma de cuadros un poco más grandes con respecto al punto fijo
que de igual forma esta graficada.




Figura 1.7. Foto 21 graficando con respecto a las coordenadas encontradas.


De esta forma se analizó la primera foto solo falta analizar las 19 fotos restantes y al obtener los
puntos coordenados del moviente de la pieza fija y en base a esos puntos graficarlos en la foto que
creamos




Figura 1.8. Análisis de 15 fotos y grafica de la ruta del punto móvil.




                                                11
Sistemas de visón.

Código en Matlab.
%Programa que identifica las piezas fijas y móviles
%trazando la trayectoria de la pieza fija
%Este es un código específico para las fotos de un tamaño 2560 x 1920
%Lectura de la primera foto

A=imread('1.jpg');

%binarización de la foto

BA=im2bw(A,0.2);
q=size(BA);

%invertir binarización

%figure(1)
%imshow(BA);

%"Corte" de la foto para quitar basura binaria

for i=1:q(1)
    for j=2200:2560

            if BA(i,j) == 0;

        BA(i,j)=1;

            end

      end
end

%figure(2)
%imshow(BA);

q=size(BA);

%"Inverir" Binarizacion


for i=1:q(1)
    for j=1:q(2)

            if BA(i,j) == 0;

        BA2(i,j)=1;
          end

      end
end




                                   12
Sistemas de visón.
%figure(3)
%imshow(BA2);

%4 Dilataciones


L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA2, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion


%imshow(M2);




%1 erosion


se=strel('disk',4);
ero=imerode(M2,se);
%imshow(ero)

%sacar Area

s=bwlabel(ero,8);

s1=imfeature(s,'Area'); %aqui conocemos todas las areas de la foto
analizada

%encontrar las areas de los puntos fijos

j=1;
for i=1:size(s1)

    if s1(i,1).Area >70000
         s1(i,1).Area;
        %como hacer dinamico el sistema
         i;
         if i~0 ;
         v(j)=i;
    j=j+1;
         end
    end

end
v; %tiene almacenado los valores de los puntos fijos


j=j-1;



                                    13
Sistemas de visón.
j; %tiene almacenado cuantas piezas fijas tiene
Num=size(v);

%sacar centroides para conocer cordenadas

s2=imfeature(s,'Centroid');




%cambiar las cordenadas a entero


%O1=s2(v(1),1).Centroid;
pxy1=int32(s2(v(1),1).Centroid);

%O2=s2(v(2),1).Centroid;
pxy2=int32(s2(v(2),1).Centroid);

%O3=s2(v(3),1).Centroid;
pxy3=int32(s2(v(3),1).Centroid);

%crear la foto 21
%0=negro
%1=blanco

foto21=zeros(1920,2560);
%imshow(foto21);
%trazar un cuadrado en las cordenadas de los objetos fijos en la foto 21

for i=1:150
    for j=1:150

            foto21(i+pxy3(2),j+pxy3(1)) = 1;
             foto21(i+pxy2(2),j+pxy2(1)) = 1;
              foto21(i+pxy1(2),j+pxy1(1)) = 1;

      end

end
%imshow(foto21);
%impixelinfo

%determinar cordenadas del punto movil con respecto a su area y centroide

%s1


for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000




                                       14
Sistemas de visón.
            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;

%trazar un cuadradito mas pequeño en la foto 21 con respecto ala pieza
fija

    %M1=s2(v(1),1).Centroid;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%impixelinfo


%leer todas las 19 fotos restantes
%
%
%
%
%
%
%
%
%222222222222222222222222222222222
A=imread('2.jpg');
BA2=im2bw(A,0.2);
q=size(BA2);

for i=1:q(1)
    for j=2200:2560

            if BA2(i,j) == 0;

        BA2(i,j)=1;

            end




                                       15
Sistemas de visón.
      end
end

q=size(BA2);

for i=1:q(1)
    for j=1:q(2)

            if BA2(i,j) == 0;

        BA22(i,j)=1;
          end

      end
end

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA22, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50




                                   16
Sistemas de visón.
            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end
%impixelinfo

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

%3333333333333333333333333333333333333333333333
A=imread('3.jpg');
BA3=im2bw(A,0.2);
q=size(BA3);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA3(i,j) == 0;

        BA3(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA3);

for i=1:q(1)
    for j=1:q(2)

            if BA3(i,j) == 0;

        BA23(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA23, L); %1era dilatacion




                                       17
Sistemas de visón.

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid)
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%444444444444444444444444444444444444444444
A=imread('4.jpg');
BA4=im2bw(A,0.2);
q=size(BA4);




                                       18
Sistemas de visón.
%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA4(i,j) == 0;

        BA4(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA4);

for i=1:q(1)
    for j=1:q(2)

            if BA4(i,j) == 0;

        BA24(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA24, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');



                                   19
Sistemas de visón.

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%5555555555555555555555555555555555555555
A=imread('5.jpg');
BA5=im2bw(A,0.2);
q=size(BA5);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA5(i,j) == 0;

        BA5(i,j)=1;

            end

      end
end




                                       20
Sistemas de visón.
%figure(2);
%imshow(BA3)

q=size(BA5);

for i=1:q(1)
    for j=1:q(2)

            if BA5(i,j) == 0;

        BA25(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA25, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;




                                   21
Sistemas de visón.
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%666666666666666666666666666666666666666666666
A=imread('6.jpg');
BA6=im2bw(A,0.2);
q=size(BA6);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA6(i,j) == 0;

        BA6(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA6);

for i=1:q(1)
    for j=1:q(2)

            if BA6(i,j) == 0;

        BA26(i,j)=1;
          end

      end
end




                                       22
Sistemas de visón.
%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA26, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




                                       23
Sistemas de visón.


%7777777777777777777777777777777777777777
A=imread('7.jpg');
BA7=im2bw(A,0.2);
q=size(BA7);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA7(i,j) == 0;

        BA7(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA7);

for i=1:q(1)
    for j=1:q(2)

            if BA7(i,j) == 0;

        BA27(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA27, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);



                                   24
Sistemas de visón.
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%8888888888888888888888888888888888888888888888888888
A=imread('8.jpg');
BA8=im2bw(A,0.2);
q=size(BA6);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA8(i,j) == 0;

        BA8(i,j)=1;




                                       25
Sistemas de visón.

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA8);

for i=1:q(1)
    for j=1:q(2)

            if BA8(i,j) == 0;

        BA28(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA28, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;



                                   26
Sistemas de visón.
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%9999999999999999999999999999999999999999
A=imread('9.jpg');
BA9=im2bw(A,0.2);
q=size(BA6);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA9(i,j) == 0;

        BA9(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA9);

for i=1:q(1)
    for j=1:q(2)

            if BA9(i,j) == 0;



                                       27
Sistemas de visón.

        BA29(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA29, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;




                                       28
Sistemas de visón.
      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%10 10 10 10 10 10 10 10 10 10 10 10 10
A=imread('10.jpg');
BA10=im2bw(A,0.2);
q=size(BA10);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA10(i,j) == 0;

        BA10(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA10);

for i=1:q(1)
    for j=1:q(2)

            if BA10(i,j) == 0;

        BA210(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)




                                   29
Sistemas de visón.
L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA210, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




                                       30
Sistemas de visón.


%11 11 11 11 11 11 11 11 11 11 11 11 11
A=imread('11.jpg');
BA11=im2bw(A,0.2);
q=size(BA11);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA11(i,j) == 0;

        BA11(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA11);

for i=1:q(1)
    for j=1:q(2)

            if BA11(i,j) == 0;

        BA211(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA211, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);




                                   31
Sistemas de visón.
%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
A=imread('12.jpg');
BA12=im2bw(A,0.2);
q=size(BA12);

%figure(1);
%imshow(BA3)




                                       32
Sistemas de visón.

for i=1:q(1)
    for j=2200:2560

            if BA12(i,j) == 0;

        BA12(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA12);

for i=1:q(1)
    for j=1:q(2)

            if BA12(i,j) == 0;

        BA212(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA212, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)



                                   33
Sistemas de visón.

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%13 13 13 1313 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
A=imread('13.jpg');
BA13=im2bw(A,0.2);
q=size(BA13);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA13(i,j) == 0;

        BA13(i,j)=1;

            end



                                       34
Sistemas de visón.

      end
end

%figure(2);
%imshow(BA3)

q=size(BA13);

for i=1:q(1)
    for j=1:q(2)

            if BA13(i,j) == 0;

        BA213(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA213, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end




                                   35
Sistemas de visón.

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
A=imread('14.jpg');
BA14=im2bw(A,0.2);
q=size(BA14);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA14(i,j) == 0;

        BA14(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA14);

for i=1:q(1)



                                       36
Sistemas de visón.
      for j=1:q(2)

            if BA14(i,j) == 0;

        BA214(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA214, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50




                                   37
Sistemas de visón.
            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
A=imread('15.jpg');
BA15=im2bw(A,0.2);
q=size(BA15);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA15(i,j) == 0;

        BA15(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA15);

for i=1:q(1)
    for j=1:q(2)

            if BA15(i,j) == 0;

        BA215(i,j)=1;
          end

      end
end




                                       38
Sistemas de visón.
%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA215, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




                                       39
Sistemas de visón.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%16 16 16 16 16 16 16 166 16 16 16 16 16 16 16 16
A=imread('16.jpg');
BA16=im2bw(A,0.2);
q=size(BA14);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA16(i,j) == 0;

        BA16(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA16);

for i=1:q(1)
    for j=1:q(2)

            if BA16(i,j) == 0;

        BA216(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA216, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion




                                   40
Sistemas de visón.
se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
A=imread('17.jpg');
BA17=im2bw(A,0.2);
q=size(BA17);




                                       41
Sistemas de visón.

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA17(i,j) == 0;

        BA17(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA17);

for i=1:q(1)
    for j=1:q(2)

            if BA17(i,j) == 0;

        BA217(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA217, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');




                                   42
Sistemas de visón.
s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18
A=imread('18.jpg');
BA18=im2bw(A,0.2);
q=size(BA18);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA18(i,j) == 0;




                                       43
Sistemas de visón.
        BA18(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA18);

for i=1:q(1)
    for j=1:q(2)

            if BA18(i,j) == 0;

        BA218(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA218, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;



                                   44
Sistemas de visón.
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
A=imread('19.jpg');
BA19=im2bw(A,0.2);
q=size(BA19);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA19(i,j) == 0;

        BA19(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)




                                       45
Sistemas de visón.
q=size(BA19);

for i=1:q(1)
    for j=1:q(2)

            if BA19(i,j) == 0;

        BA219(i,j)=1;
          end

      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA219, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil




                                   46
Sistemas de visón.
for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end

%imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
A=imread('20.jpg');
BA20=im2bw(A,0.2);
q=size(BA20);

%figure(1);
%imshow(BA3)

for i=1:q(1)
    for j=2200:2560

            if BA20(i,j) == 0;

        BA20(i,j)=1;

            end

      end
end

%figure(2);
%imshow(BA3)

q=size(BA20);

for i=1:q(1)
    for j=1:q(2)

            if BA20(i,j) == 0;

        BA220(i,j)=1;
          end




                                       47
Sistemas de visón.
      end
end

%figure(3);
%imshow(BA23)

L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante

M=imdilate(BA220, L); %1era dilatacion

M1=imdilate(M, L); %segunda dilatacion

M2=imdilate(M1, L); % tercera dilatacion

se=strel('disk',4);
ero=imerode(M2,se);

%figure(4);
%imshow(ero)

s=bwlabel(ero,8);

s1=imfeature(s,'Area');

s2=imfeature(s,'Centroid');

for i=1:size(s1)

      if s1(i,1).Area >50000
          if s1(i,1).Area <90000

            i;
            s1(i,1).Area;
            vmovil1=i;
            end
      end

end

vmovil1;
pmovil1=int32(s2(vmovil1,1).Centroid);
pmovil1; %contiene el valor numerico del centroide dela pieza movil

for i=1:50
    for j=1:50

            foto21(i+pmovil1(2),j+pmovil1(1)) = 1;


      end

end




                                       48
Sistemas de visón.
imshow(foto21);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%


%mostrar la foto 21




Bibliografías.

Digital image using Matlab processing
Rafael c. Gonzales
Pearson Prentins Hall




                                        49

Más contenido relacionado

Similar a Sistemas de vision

23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlabRicardo Villalobos Rojas
 
Manual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacionManual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacionDicson Campos Sandoval
 
Imagen Filtrado Espacial
Imagen Filtrado EspacialImagen Filtrado Espacial
Imagen Filtrado EspacialOmar Sanchez
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2jcbp_peru
 
Aplicaciones de la derivada taller grupal
Aplicaciones de la derivada taller grupalAplicaciones de la derivada taller grupal
Aplicaciones de la derivada taller grupalJonathanMaigua
 
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258JOELALEXANDERCACOANG
 
Utp pd_iy_va_sap10 detecciòn de bordes
 Utp pd_iy_va_sap10 detecciòn de bordes Utp pd_iy_va_sap10 detecciòn de bordes
Utp pd_iy_va_sap10 detecciòn de bordesjcbp_peru
 
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABUtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABdpatriciocastillom
 
Generalidades 3dsmax
Generalidades 3dsmaxGeneralidades 3dsmax
Generalidades 3dsmaxlukeymolano
 
Algebra Lineal
Algebra LinealAlgebra Lineal
Algebra Linealdmatubb
 
Estudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámarasEstudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámarasJaime Martínez Verdú
 
Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image jRomel Villanueva
 
Introducción a la Fotogrametría Digital
Introducción a la Fotogrametría DigitalIntroducción a la Fotogrametría Digital
Introducción a la Fotogrametría Digitalequiros
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerramandinguito007
 

Similar a Sistemas de vision (20)

23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab23371 procesamiento-de-imagenes-con-matlab
23371 procesamiento-de-imagenes-con-matlab
 
Cursovision
CursovisionCursovision
Cursovision
 
Manual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacionManual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacion
 
Imagen Filtrado Espacial
Imagen Filtrado EspacialImagen Filtrado Espacial
Imagen Filtrado Espacial
 
Diseño e implementacion.pptx
Diseño e implementacion.pptxDiseño e implementacion.pptx
Diseño e implementacion.pptx
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Aplicaciones de la derivada taller grupal
Aplicaciones de la derivada taller grupalAplicaciones de la derivada taller grupal
Aplicaciones de la derivada taller grupal
 
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258
Cacoango lara-maigua-maisincho-taller#2 parcial 2-igeo-3258
 
Utp pd_iy_va_sap10 detecciòn de bordes
 Utp pd_iy_va_sap10 detecciòn de bordes Utp pd_iy_va_sap10 detecciòn de bordes
Utp pd_iy_va_sap10 detecciòn de bordes
 
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLABUtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
UtplMadrid_Tutorías_MATLAB_IMAGENES MATLAB
 
Generalidades 3dsmax
Generalidades 3dsmaxGeneralidades 3dsmax
Generalidades 3dsmax
 
Algebra Lineal
Algebra LinealAlgebra Lineal
Algebra Lineal
 
3d max
3d max3d max
3d max
 
3d max
3d max3d max
3d max
 
Estudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámarasEstudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámaras
 
Xxx
XxxXxx
Xxx
 
Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image j
 
Introducción a la Fotogrametría Digital
Introducción a la Fotogrametría DigitalIntroducción a la Fotogrametría Digital
Introducción a la Fotogrametría Digital
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
 
Proyecto. vision artificial
Proyecto. vision artificialProyecto. vision artificial
Proyecto. vision artificial
 

Más de Miguel Montero

Más de Miguel Montero (8)

Manipulador de 2 grados de libertad
Manipulador de 2 grados de libertadManipulador de 2 grados de libertad
Manipulador de 2 grados de libertad
 
Reporte del manipulador
Reporte del manipuladorReporte del manipulador
Reporte del manipulador
 
Primera evaluacion
Primera evaluacionPrimera evaluacion
Primera evaluacion
 
Expofinal3
Expofinal3Expofinal3
Expofinal3
 
Tarea funcion
Tarea funcionTarea funcion
Tarea funcion
 
Metodologia de la investigacion
Metodologia de la investigacionMetodologia de la investigacion
Metodologia de la investigacion
 
PID consultoria
PID consultoriaPID consultoria
PID consultoria
 
Visión artificial
Visión artificialVisión artificial
Visión artificial
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Último (10)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Sistemas de vision

  • 1. Universidad Politécnica de Guanajuato Sistemas de Visión. Montero Gómez Miguel Eduardo migue_litomg@hotmail.com 17 de julio del 2012
  • 2. Sistemas de visón. ÍNDICE I.-Resumen………………………………………………………………………………..2 II.-Introducción…………………………………………………………………………….3 III.-Objetivo...……………………………………………………………………………….4 IV.-Planteamiento del problema……………………………………………..…………..5 V.-Justificación…………………………………………………………………………….6 VI.-Desarrollo………………………………………………………………………...…….7 VII.-Código……...……………………………………………………………………..….12 VIII.-Bibliografías…………………………………………………………………………49 1
  • 3. Sistemas de visón. 1.- RESUMEN. Los problemas que hoy en dia se tienen en los sistemas de vision son muy complejos, en este reporte se atacara un problema en donde se tienen 20 imágenes en donde hay 3 piezas circulares fijas Fig1.1 y se tiene un solo elemento movil el cual tendra distinta ubicación en las 20 fotografias , se desarrollara un programa en Matlab para que se pudea identificar los elementos fijos y se grafique en otra foto para este caso en particular se llamara foto 21 en ella contendra la ubicación de los puntos fijos y la trayectoria de la pieza movil con respecto alas 20 fotos. 2
  • 4. Sistemas de visón. 2.- INTRODUCCIÓN. Aunque en las últimas dos décadas los sistemas de visón han cambiado mucho los problemas que tienen no, como todo problema de un sistema de visón se trata de ayudar a la computadora a entender y tratar de darle la capacidad de ver el mundo como nosotros lo vemos pero para este camino aún falta mucho trayecto así que en este reporte se explicara el proceso en donde se han captado mediante una cámara y un ambiente controlado con iluminación y fondo 20 imágenes de interés para el análisis de las fotos para determinar la trayectoria de un elemento móvil en 20 fotos distinta, sin cambiar su tamaño o forma bidimensional. Los problemas que hoy en dia se tienen en los sistemas de vision son muy complejos, en este reporte se atacara un problema en donde se tienen 20 imágenes en donde hay 3 piezas circulares fijas Fig1.1 y se tiene un solo elemento movil el cual tendra distinta ubicación en las 20 fotografias , se desarrollara un programa en Matlab para que se pudea identificar los elementos fijos y se grafique en otra foto para este caso en particular se llamara foto 21 en ella contendra la ubicación de los puntos fijos y la trayectoria de la pieza movil con respecto alas 20 fotos. 3
  • 5. Sistemas de visón. 3.- OBJETIVO. Conocer los objetos fijos y móviles de una serie de 20 fotos y graficar de manera representativa en Matlab la trayectoria del objeto fijo en una sola foto. 4
  • 6. Sistemas de visón. 4.- PLANTEAMIENTO DEL PROBLEMA Se tiene una serie de 20 fotos tomadas en condiciones contralas en una cámara de visión, se plantea desarrollar un código en Matlab para que la computadora sea capaz de determinar foto por foto los puntos fijos y la trayectoria que generara los puntos móviles. 5
  • 7. Sistemas de visón. 5.- JUSTIFICACIÓN. Esta investigación fue realizada con el solo fin específico de conocer los objetos fijos y móviles en una serie de 20 fotos y determinar sus propiedades de cada foto como área, centroides y aplicaciones para procesamiento como dilatación y erosión. 6
  • 8. Sistemas de visón. 6.- DESARROLLO Proceso: 1.- Se cargan las 20 fotos al sistema Muestra de fotos. Figura 1.1. 7
  • 9. Sistemas de visón. 2.- Se binariza la foto: Foto binarizada Figura 1.2 3.- Se realiza un corte para eliminar una sección que no son sirve. Figura 1.3 Recorte de basura binarizada en Matlab 8
  • 10. Sistemas de visón. 4.- Se invierte binarización. Figura 1.4 Se invierte Binarización 5.- Empieza la parte de procesamiento de imagen 6.- Se aplican 4 dilataciones Figura 1.5 Se Aplican 4 Dilataciones 9
  • 11. Sistemas de visón. 7.- Se aplica 1 erosión. Figura 1.6 Se aplica una Erosión. Al obtener esta última foto podemos ya obtener propiedades, al aplicar a la foto un proceso para encontrar áreas, encontraremos todas las áreas que tengan la imagen Figura1.6, obtendremos un total de 29 áreas demasiado pequeñas 3 áreas muy grandes que serán identificadas como los puntos fijos y una área más chica que será identificada como nuestro punto fijo y obtener ordenadas de los 4 objetos y así graficarlos en otra foto. La manera de separar estas 29 áreas que no nos sirves es con un ciclo FOR que se mostrara al final. 10
  • 12. Sistemas de visón. En esta foto podemos observar que se obtuvieron las coordenadas de los puntos fijos y se graficaron en otra foto distinta en forma de cuadros un poco más grandes con respecto al punto fijo que de igual forma esta graficada. Figura 1.7. Foto 21 graficando con respecto a las coordenadas encontradas. De esta forma se analizó la primera foto solo falta analizar las 19 fotos restantes y al obtener los puntos coordenados del moviente de la pieza fija y en base a esos puntos graficarlos en la foto que creamos Figura 1.8. Análisis de 15 fotos y grafica de la ruta del punto móvil. 11
  • 13. Sistemas de visón. Código en Matlab. %Programa que identifica las piezas fijas y móviles %trazando la trayectoria de la pieza fija %Este es un código específico para las fotos de un tamaño 2560 x 1920 %Lectura de la primera foto A=imread('1.jpg'); %binarización de la foto BA=im2bw(A,0.2); q=size(BA); %invertir binarización %figure(1) %imshow(BA); %"Corte" de la foto para quitar basura binaria for i=1:q(1) for j=2200:2560 if BA(i,j) == 0; BA(i,j)=1; end end end %figure(2) %imshow(BA); q=size(BA); %"Inverir" Binarizacion for i=1:q(1) for j=1:q(2) if BA(i,j) == 0; BA2(i,j)=1; end end end 12
  • 14. Sistemas de visón. %figure(3) %imshow(BA2); %4 Dilataciones L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA2, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion %imshow(M2); %1 erosion se=strel('disk',4); ero=imerode(M2,se); %imshow(ero) %sacar Area s=bwlabel(ero,8); s1=imfeature(s,'Area'); %aqui conocemos todas las areas de la foto analizada %encontrar las areas de los puntos fijos j=1; for i=1:size(s1) if s1(i,1).Area >70000 s1(i,1).Area; %como hacer dinamico el sistema i; if i~0 ; v(j)=i; j=j+1; end end end v; %tiene almacenado los valores de los puntos fijos j=j-1; 13
  • 15. Sistemas de visón. j; %tiene almacenado cuantas piezas fijas tiene Num=size(v); %sacar centroides para conocer cordenadas s2=imfeature(s,'Centroid'); %cambiar las cordenadas a entero %O1=s2(v(1),1).Centroid; pxy1=int32(s2(v(1),1).Centroid); %O2=s2(v(2),1).Centroid; pxy2=int32(s2(v(2),1).Centroid); %O3=s2(v(3),1).Centroid; pxy3=int32(s2(v(3),1).Centroid); %crear la foto 21 %0=negro %1=blanco foto21=zeros(1920,2560); %imshow(foto21); %trazar un cuadrado en las cordenadas de los objetos fijos en la foto 21 for i=1:150 for j=1:150 foto21(i+pxy3(2),j+pxy3(1)) = 1; foto21(i+pxy2(2),j+pxy2(1)) = 1; foto21(i+pxy1(2),j+pxy1(1)) = 1; end end %imshow(foto21); %impixelinfo %determinar cordenadas del punto movil con respecto a su area y centroide %s1 for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 14
  • 16. Sistemas de visón. i; s1(i,1).Area; vmovil1=i; end end end vmovil1; %trazar un cuadradito mas pequeño en la foto 21 con respecto ala pieza fija %M1=s2(v(1),1).Centroid; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %impixelinfo %leer todas las 19 fotos restantes % % % % % % % % %222222222222222222222222222222222 A=imread('2.jpg'); BA2=im2bw(A,0.2); q=size(BA2); for i=1:q(1) for j=2200:2560 if BA2(i,j) == 0; BA2(i,j)=1; end 15
  • 17. Sistemas de visón. end end q=size(BA2); for i=1:q(1) for j=1:q(2) if BA2(i,j) == 0; BA22(i,j)=1; end end end L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA22, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 16
  • 18. Sistemas de visón. foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %impixelinfo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %3333333333333333333333333333333333333333333333 A=imread('3.jpg'); BA3=im2bw(A,0.2); q=size(BA3); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA3(i,j) == 0; BA3(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA3); for i=1:q(1) for j=1:q(2) if BA3(i,j) == 0; BA23(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA23, L); %1era dilatacion 17
  • 19. Sistemas de visón. M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid) pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %444444444444444444444444444444444444444444 A=imread('4.jpg'); BA4=im2bw(A,0.2); q=size(BA4); 18
  • 20. Sistemas de visón. %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA4(i,j) == 0; BA4(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA4); for i=1:q(1) for j=1:q(2) if BA4(i,j) == 0; BA24(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA24, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); 19
  • 21. Sistemas de visón. for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %5555555555555555555555555555555555555555 A=imread('5.jpg'); BA5=im2bw(A,0.2); q=size(BA5); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA5(i,j) == 0; BA5(i,j)=1; end end end 20
  • 22. Sistemas de visón. %figure(2); %imshow(BA3) q=size(BA5); for i=1:q(1) for j=1:q(2) if BA5(i,j) == 0; BA25(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA25, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; 21
  • 23. Sistemas de visón. pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %666666666666666666666666666666666666666666666 A=imread('6.jpg'); BA6=im2bw(A,0.2); q=size(BA6); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA6(i,j) == 0; BA6(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA6); for i=1:q(1) for j=1:q(2) if BA6(i,j) == 0; BA26(i,j)=1; end end end 22
  • 24. Sistemas de visón. %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA26, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 23
  • 25. Sistemas de visón. %7777777777777777777777777777777777777777 A=imread('7.jpg'); BA7=im2bw(A,0.2); q=size(BA7); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA7(i,j) == 0; BA7(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA7); for i=1:q(1) for j=1:q(2) if BA7(i,j) == 0; BA27(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA27, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); 24
  • 26. Sistemas de visón. %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %8888888888888888888888888888888888888888888888888888 A=imread('8.jpg'); BA8=im2bw(A,0.2); q=size(BA6); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA8(i,j) == 0; BA8(i,j)=1; 25
  • 27. Sistemas de visón. end end end %figure(2); %imshow(BA3) q=size(BA8); for i=1:q(1) for j=1:q(2) if BA8(i,j) == 0; BA28(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA28, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; 26
  • 28. Sistemas de visón. end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %9999999999999999999999999999999999999999 A=imread('9.jpg'); BA9=im2bw(A,0.2); q=size(BA6); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA9(i,j) == 0; BA9(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA9); for i=1:q(1) for j=1:q(2) if BA9(i,j) == 0; 27
  • 29. Sistemas de visón. BA29(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA29, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; 28
  • 30. Sistemas de visón. end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %10 10 10 10 10 10 10 10 10 10 10 10 10 A=imread('10.jpg'); BA10=im2bw(A,0.2); q=size(BA10); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA10(i,j) == 0; BA10(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA10); for i=1:q(1) for j=1:q(2) if BA10(i,j) == 0; BA210(i,j)=1; end end end %figure(3); %imshow(BA23) 29
  • 31. Sistemas de visón. L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA210, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 30
  • 32. Sistemas de visón. %11 11 11 11 11 11 11 11 11 11 11 11 11 A=imread('11.jpg'); BA11=im2bw(A,0.2); q=size(BA11); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA11(i,j) == 0; BA11(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA11); for i=1:q(1) for j=1:q(2) if BA11(i,j) == 0; BA211(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA211, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); 31
  • 33. Sistemas de visón. %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 A=imread('12.jpg'); BA12=im2bw(A,0.2); q=size(BA12); %figure(1); %imshow(BA3) 32
  • 34. Sistemas de visón. for i=1:q(1) for j=2200:2560 if BA12(i,j) == 0; BA12(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA12); for i=1:q(1) for j=1:q(2) if BA12(i,j) == 0; BA212(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA212, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) 33
  • 35. Sistemas de visón. if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %13 13 13 1313 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 A=imread('13.jpg'); BA13=im2bw(A,0.2); q=size(BA13); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA13(i,j) == 0; BA13(i,j)=1; end 34
  • 36. Sistemas de visón. end end %figure(2); %imshow(BA3) q=size(BA13); for i=1:q(1) for j=1:q(2) if BA13(i,j) == 0; BA213(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA213, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end 35
  • 37. Sistemas de visón. end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 A=imread('14.jpg'); BA14=im2bw(A,0.2); q=size(BA14); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA14(i,j) == 0; BA14(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA14); for i=1:q(1) 36
  • 38. Sistemas de visón. for j=1:q(2) if BA14(i,j) == 0; BA214(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA214, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 37
  • 39. Sistemas de visón. foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 A=imread('15.jpg'); BA15=im2bw(A,0.2); q=size(BA15); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA15(i,j) == 0; BA15(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA15); for i=1:q(1) for j=1:q(2) if BA15(i,j) == 0; BA215(i,j)=1; end end end 38
  • 40. Sistemas de visón. %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA215, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 39
  • 41. Sistemas de visón. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %16 16 16 16 16 16 16 166 16 16 16 16 16 16 16 16 A=imread('16.jpg'); BA16=im2bw(A,0.2); q=size(BA14); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA16(i,j) == 0; BA16(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA16); for i=1:q(1) for j=1:q(2) if BA16(i,j) == 0; BA216(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA216, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion 40
  • 42. Sistemas de visón. se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 A=imread('17.jpg'); BA17=im2bw(A,0.2); q=size(BA17); 41
  • 43. Sistemas de visón. %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA17(i,j) == 0; BA17(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA17); for i=1:q(1) for j=1:q(2) if BA17(i,j) == 0; BA217(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA217, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); 42
  • 44. Sistemas de visón. s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 A=imread('18.jpg'); BA18=im2bw(A,0.2); q=size(BA18); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA18(i,j) == 0; 43
  • 45. Sistemas de visón. BA18(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA18); for i=1:q(1) for j=1:q(2) if BA18(i,j) == 0; BA218(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA218, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; 44
  • 46. Sistemas de visón. vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 A=imread('19.jpg'); BA19=im2bw(A,0.2); q=size(BA19); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA19(i,j) == 0; BA19(i,j)=1; end end end %figure(2); %imshow(BA3) 45
  • 47. Sistemas de visón. q=size(BA19); for i=1:q(1) for j=1:q(2) if BA19(i,j) == 0; BA219(i,j)=1; end end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA219, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil 46
  • 48. Sistemas de visón. for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end %imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 A=imread('20.jpg'); BA20=im2bw(A,0.2); q=size(BA20); %figure(1); %imshow(BA3) for i=1:q(1) for j=2200:2560 if BA20(i,j) == 0; BA20(i,j)=1; end end end %figure(2); %imshow(BA3) q=size(BA20); for i=1:q(1) for j=1:q(2) if BA20(i,j) == 0; BA220(i,j)=1; end 47
  • 49. Sistemas de visón. end end %figure(3); %imshow(BA23) L=[1 1 1; 1 1 1; 1 1 1]; %elemento estructurante M=imdilate(BA220, L); %1era dilatacion M1=imdilate(M, L); %segunda dilatacion M2=imdilate(M1, L); % tercera dilatacion se=strel('disk',4); ero=imerode(M2,se); %figure(4); %imshow(ero) s=bwlabel(ero,8); s1=imfeature(s,'Area'); s2=imfeature(s,'Centroid'); for i=1:size(s1) if s1(i,1).Area >50000 if s1(i,1).Area <90000 i; s1(i,1).Area; vmovil1=i; end end end vmovil1; pmovil1=int32(s2(vmovil1,1).Centroid); pmovil1; %contiene el valor numerico del centroide dela pieza movil for i=1:50 for j=1:50 foto21(i+pmovil1(2),j+pmovil1(1)) = 1; end end 48
  • 50. Sistemas de visón. imshow(foto21); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %mostrar la foto 21 Bibliografías. Digital image using Matlab processing Rafael c. Gonzales Pearson Prentins Hall 49