首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab的滑块中同时显示/连接两个图像?

在Matlab的滑块中同时显示/连接两个图像?
EN

Stack Overflow用户
提问于 2016-03-10 16:00:34
回答 2查看 130关注 0票数 0

我不能制作太大的文件(比如尝试过的here),所以我一次只需要显示部分。但是,在Matlab中,我无法使从一个文件顺利地传输到另一个文件。我试图在Matlab中扩展线程的solution以刷新in?两张照片。问题是图像A的结尾和图像B的开始。现在,我在流中有一个中断,我不喜欢它,因为我不能同时显示两个图像而没有中断。

在这里的示例中,不需要对轴进行过滤。代码

代码语言:javascript
复制
iterationCounter=1;

hFig=figure('Menubar','none', 'NumberTitle','off', 'Color','k');
while(iterationCounter < 7)

    filenamePng=fullfile(homedir, '/Images/Raw/', iterationCounter, '.png');

    imgRGB=imread(filenamePng);

    % https://stackoverflow.com/a/29952648/54964
    %%// create sliding-window video
    len = 40*2^3;
    signal = imgRGB(:,1:end,:);
    hImg = imshow(signal(:,1:1+len,:), ...
        'InitialMagnification',100, 'Border','tight');

    vid = VideoWriter('signal.avi');
    vid.Quality = 100;
    vid.FrameRate = 60;
    open(vid);

    M = size(signal,2);
    for k=1:M-len
        set(hImg, 'CData',signal(:,k:k+len,:))
        writeVideo(vid, getframe());
    end

    iterationCounter=iterationCounter+1;
end

close(vid);

图像A和图像B的输出

在每个图像之后的滑块中有一个中断。这张照片只是两个画面的截图:滑块的开始和结束。蓝色区域只是OS,但仍然表明在开始和结束之间存在差距和中断。

如何在Matlab的滑块中同时显示/连接两幅图像?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-10 18:38:44

为了在这个滚动窗口中同时显示多个图像,我认为最简单的方法是将所有图像预先加载到一个数组中,即[nRows x (nColumns * nImages) x 3],然后使用原始代码滚动。

代码语言:javascript
复制
hFig=figure('Menubar','none', 'NumberTitle','off', 'Color','k');

signal = [];

% Load all the images into one "long" image
for k = 1:7
    filename = fullfile(homedir, sprintf('%d.png', k));
    img = imread(filename);
    signal = cat(2, signal, img);
end

%%// create sliding-window video
windowWidth = 320; % Width in pixels
hImg = imshow(signal(:,1:1 + windowWidth,:), ...
    'InitialMagnification',100, 'Border','tight');

vid = VideoWriter('signal.avi');
vid.Quality = 100;
vid.FrameRate = 60;
open(vid);

M = size(signal,2);
for k = 1:(M - windowWidth)
    set(hImg, 'CData',signal(:,k:k + windowWidth,:))
    writeVideo(vid, getframe());
end

close(vid);
票数 1
EN

Stack Overflow用户

发布于 2016-03-12 09:01:37

命令imagesc是一个低级的映像命令,苏弗的建议不起作用。删除填充/边距/背景的一般方法是使用

代码语言:javascript
复制
<plot imshow imagesc ...>
set(gca,'position',[0 0 1 1],'units','normalized') 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35921412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档