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;
Vielen Dank, aber ich möchte den Simulink nicht verwenden, wenn Sie eine andere Lösung haben –