2012-04-15 5 views
0

Ich habe Code für die Aufnahme eines Live-Videos, und ich habe Code, der zwei Zeilen auf ein Bild zeichnen, also möchte ich die beiden Codes zusammen und wenn ein Objekt auf der Zeile erscheint die Farbe ändert. Wie mache ich das?Live-Video von MATLAB

Die folgenden sind die zwei MATLAB-Programme.

-Code für ein Live-Video unter:

clear; 

dev_info = imaqhwinfo('winvideo',1); 
celldisp(dev_info.SupportedFormats); 
vid1 = videoinput('winvideo',1); 

%out = imaqhwinfo(vid) 

%This is for triggering: 

num_frames=5; 

triggerconfig(vid1, 'Manual') 
set(vid1,'FramesPerTrigger',num_frames) 

start(vid1); 
trigger(vid1) 

frame = getsnapshot(vid1); 
image(frame); 

%Here it will acquire five frames. 

%Now move the data acquired to the workspace. 
[data1 time1] = getdata(vid1,num_frames); 

kk=length(time1); 
elapsed_time = time1(kk) - time1(1); 

%frame = getsnapshot(vid1); %This is to get a single frame. 

%imaqmontage(data1) 

%cleaning 

delete(vid1); 
clear vid1; 

aviobj = avifile('example.avi') 
for i=1:kk 
    F=data1(:,:,:,i); 
    aviobj = addframe(aviobj,F); 
end 
aviobj = close(aviobj); 

%Then we can see the whole video clip. 
mov = aviread('example.avi'); 
movie(mov) 
%................ 

%Also, we can directly play the video from the video file. 
mplay('example.avi'); 

-Code zum Zeichnen von zwei Linien auf einem Bild:

im = imread('image.jpg'); 
imshow(im); 
hold on; 
line([27,1523],[1753,1753]); 
line([7,1531],[1395,1395]); 
hold off; 

Antwort

0

die Simulink-Demo viptrackpeople nachschlagen. Sie können versuchen, den Videoquellblock von "Multimediadatei" zu ändern, um "Bild von Videogerät" zu blockieren und dann einen Block mit Ihrem MATLAB-Verarbeitungscode hinzuzufügen. Ich habe kein Videogerät, daher kann ich diesen Ansatz nicht überprüfen.

+0

Vielen Dank, aber ich möchte den Simulink nicht verwenden, wenn Sie eine andere Lösung haben –