【问题标题】:Display image sequence as overlapping stack将图像序列显示为重叠堆栈
【发布时间】:2014-09-20 15:59:20
【问题描述】:

对于演示文稿,我希望显示一系列图像(基本上是电影的帧),每个帧显示在后面并相对于前一个偏移。

只有第一帧是完全可见的,但您会看到剩余帧的一部分。

这可以在 matlab 或某些(免费软件)程序中完成吗?

【问题讨论】:

  • Matlab 可以做到E V E R Y T H I N G!!

标签: image matlab


【解决方案1】:

假设您的图像序列存储在元胞数组seq 中,并且所有图像的大小相同。
这就是你的想法吗?

sz=size(seq{1}); %// assuming all frames are of the same size
m = 20; %// size of "margin" to show from each frame
n = numel( seq ); %// number of frames in sequence
fh = figure('Position', [100 100 sz(2)+(n-1)*m sz(1)] ); 
ah=axes('Units','pixels','Position', [ 0 0 sz(2)+(n-1)*m sz(1)] ); 
hold on;
%// show frames from last to first
for fi=n:-1:1
    imshow( seq{fi}, 'Parent', ah, 'XData', (fi-1)*m + (1:sz(2)));
end

我正在使用imshowXData 属性来相对于彼此移动框架。
您可能还想探索YData 以创建垂直移位...

【讨论】:

  • 这非常接近我想要的,非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多