在视频帧上绘制矩形
Plotting rectangle on the frames of a video
我正在尝试在我的视频帧上绘制一个矩形。我希望矩形出现在视频的所有帧上。由于我应用了 "hold on",我只能在少数几帧上看到我的边界框。
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
当我尝试删除保持功能时,矩形没有绘制在框架上。任何帮助将不胜感激。
交换 imshow
和 rectangle
调用,以便 imshow
创建一个首先适合图像的图形。在 imshow
之后使用 rectangle
最终绘制矩形。最后,在 imshow
之后使用 drawnow
以便刷新图形缓冲区并刷新图形。在 rectangle
调用之间还需要 hold on;
和 hold off;
。
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
我正在尝试在我的视频帧上绘制一个矩形。我希望矩形出现在视频的所有帧上。由于我应用了 "hold on",我只能在少数几帧上看到我的边界框。
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
当我尝试删除保持功能时,矩形没有绘制在框架上。任何帮助将不胜感激。
交换 imshow
和 rectangle
调用,以便 imshow
创建一个首先适合图像的图形。在 imshow
之后使用 rectangle
最终绘制矩形。最后,在 imshow
之后使用 drawnow
以便刷新图形缓冲区并刷新图形。在 rectangle
调用之间还需要 hold on;
和 hold off;
。
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