我正在尝试在视频的帧上绘制一个矩形。我希望矩形出现在视频的所有帧上。由于我已经应用了“保持”,我只能在几个帧上看到我的边界框。
v = VideoReader('test.mp4');
numFrames = get(v,'NumberOfFrames');
for k=1:numFrames
image = read(v,k);
rectangle('Position',[0 0 100 100],'EdgeColor','r','LineWidth', 3);
hold on;
imshow(image);
end
当我尝试删除保持功能时,矩形没有被绘制在框架上。任何帮助将不胜感激。
答案 0 :(得分:1)
交换imshow
和rectangle
来电,以便imshow
创建一个首先适合图像的数字。在rectangle
之后使用imshow
最终绘制矩形。最后,在imshow
之后使用drawnow
,以便刷新图形缓冲区并刷新图形。 hold on;
来电之间还需要hold off;
和rectangle
。
v = VideoReader('test.mp4');
numFrames = get(v,'NumberOfFrames');
for k=1:numFrames
image = read(v,k);
imshow(image);
hold on;
rectangle('Position',[0 0 100 100],'EdgeColor','r','LineWidth', 3);
hold off;
drawnow;
end