0

ライブビデオを撮るためのコードと、画像に2本の線を引くコードがあるので、2つのコードを組み合わせて、線にオブジェクトが表示されると色が変わります。どうすればよいですか?

以下は2つのMATLABプログラムです。

ライブビデオを撮影するためのコード:

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');

画像に2本の線を描くためのコード:

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

1 に答える 1

0

Simulink デモviptrackpeopleを参照してください。ビデオ ソース ブロックを "Multimedia file" から "Image from video device" ブロックに変更してから、MATLAB 処理コードを含むブロックを追加してみてください。私はビデオ デバイスを持っていないので、このアプローチを検証できません。

于 2012-04-16T12:18:37.633 に答える