Matlab - Detectar sustracción de imágenes

 
Vista:

Detectar sustracción de imágenes

Publicado por Oscar (3 intervenciones) el 15/05/2012 02:37:17
Hola.

Estoy intentando realizar un proyecto en Matlab 2009a, que identifique la sustracción de un objeto dentro de una serie de imágenes capturadas a través de una cámara y emita una alarma, ya sea sonora o por led de que el objeto ya no se encuentra.
De la misma forma que se muestra en el siguiente video:

Por favor si me puede alguien colaborar ya que es un trabajo urgente que debo entregar el día de mañana.

El código que he intentado arreglar es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
% Capturando la imágen
 
vid = videoinput('winvideo',1,'RGB24_320x240'); % Establece la conexión con la WebCam
start(vid);                 % Inica la WebCam
imagen=getsnapshot(vid);    % Captura la foto
J = rgb2gray(imagen);       % Convierte la foto a blanco y negro
BW = edge(J,'prewitt');     % Aplica Filtro
BW2 = edge(J,'canny');      % Aplica Filtro
imshow(BW);                 % Muestra foto filtrada
figure, imshow(imagen)      % Muestra la foto
 
% Detectar la sustracción del objeto
 
% Importar la imágen con el(los) objeto(s) a evaluar
A=imread('C:\Users\danielLDS\Desktop\UDI\Visión Artificial\parcialkarenestupiñan\objeto.jpg');
B=rgb2gray(A); % Pasar a escala de grices
[M N]=size(A); % Determinar el tamaño de la imágen
C=ones(M,N);   % COnvertir a unos la matriz de la imágen
 
%Recorrer la matriz y almacenar en una nueva
for i=225:270
	for j=235:371
        C(i,j)=B(i,j);
	end
end
 
% Importar la imágen
I=imread('C:\Users\danielLDS\Desktop\UDI\Visión Artificial\parcialkarenestupiñan\objeto.jpg');
% Pasar a escala de grices
zgris=rgb2gray(I);
%Recorrer la región de la imágen donde está el objeto
    for i=225:270
        for j=235:371
            % Si los pixeles de la región evaluada coinciden con el de la
            % matriz donde aparece el objeto, muestra el mensaje
            % correspondiente
            if I(i,j)==C(i,j)
                mensaje='TIENE EL OBJETO';
 
            else
                mensaje='NO HAY OBJETO';
            end
        end
    end
    mensaje %Muestra el mensaje
 
imshow(I)
%imtool(zgris) % Herramienta para retocar imágen
 
% Detección del puerto paralelo
 
parport = digitalio('parallel','LPT1');
dato = addline(parport,0:7,'out');
 
n=1;
for i=1:8
    putvalue(dato,n);
    n=n*2;
    pause(0.2)
 
end
n=128;
for i=1:8
    putvalue(dato,n);
    n=n/2;
    pause(0.2)
 
end

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder