我有一些来自视频序列的帧,用于估算其间的光流场:
[u, v] = compute_optical_flow(series);
我可以使用implay
播放视频序列:
implay(series);
我可以使用quiver
在单个图像上绘制单个流:
imshow(series(123,:,:));
hold on;
quiver(u(123,:,:), v(123,:,:));
但是,我还希望能够播放存储在u和v中的整个时间序列的速度矢量(如果可能的话,在相应的图像帧之上)。所以我要找的是implay
但是对于速度场而不是图像。
有什么想法吗?
谢谢!
答案 0 :(得分:3)
简单的hack是使用pause
MATLAB函数。你的代码应该是这样的:
framesPerSecond = 30;
for n = 1:N %# Here N is the number of frames you have
imshow(series(n,:,:));
hold on;
quiver(u(n,:,:), v(n,:,:));
hold off;
pause(1/framesPerSecond);
end