0

シンプルな背景のビデオを使用し、誰かが通り過ぎるたびに警告テキストを表示しています。

clear all

myVideoObj = VideoReader('video.avi');

nFrames = myVideoObj.NumberOfFrames;
sound = wavread('somethingwrong.wav');
flag = 1;

% Read one frame at a time.
for i = 2 : nFrames-1
    frame1 = read(myVideoObj, i-1); frame2 = read(myVideoObj, i);
    diff = abs(rgb2gray(frame1) - rgb2gray(frame2));

    if sum(sum(diff)) < 46000
        imshow(frame2, [])
        drawnow
    else 
        imshow(frame2, [])
        text(100, 100, 'Intruder!!!' , 'FontSize',24)
        drawnow
    end
end

ドローオンが機能します。しかし今、通り過ぎる人ごとに文字列をインクリメントする方法を見つけようとしています。どうすれば始められますか? 前もって感謝します

4

1 に答える 1

1

侵入者を検出するたびにテキストがカウンターをインクリメントするようにしようとしていますか (したがって、これは「侵入者!!!」メッセージに含まれます)。その場合、次のようにしてこれを達成できるはずです。

文字列変数とカウンターを作成できます。

message_string = 'Intruder #';
count = 1;

そして、新しい人を見つけるたびに、新しいメッセージ文字列を設定します:

total_message = strcat(message_string, num2str(count));

これはテキスト関数に送信されます:

text(100, 100, total_message, 'FontSize', 24)

次に、カウントを増やします。

これがあなたの質問に対する答えでない場合は、通過する人ごとに文字列を増やして、意味を明確にしてください。

于 2013-09-05T00:34:46.333 に答える