Image 从选定大小的tiff文件打印多个帧序列

Image 从选定大小的tiff文件打印多个帧序列,image,matlab,plot,tiff,matlab-figure,Image,Matlab,Plot,Tiff,Matlab Figure,我正在以.tiff多帧的形式分析一些实验数据。在这些tiff文件中,我需要可视化和比较一些特定的帧序列。我想生成一个包含我从所选文件中选择的帧的图形。文件列表和帧索引列表是通过用户界面生成的,用户界面在填充参数时调用plot函数 问题:什么是最好的解决方案,以便以最佳尺寸绘制选定帧,但保持方形图像(如原始图像)?更简单的是,如何选择我在图中绘制的每个帧的位置和大小 我尝试过使用sub plot:它可以工作,但我无法控制图像的大小 pos=0; for j = 1:length(file_list

我正在以.tiff多帧的形式分析一些实验数据。在这些tiff文件中,我需要可视化和比较一些特定的帧序列。我想生成一个包含我从所选文件中选择的帧的图形。文件列表和帧索引列表是通过用户界面生成的,用户界面在填充参数时调用plot函数

问题:什么是最好的解决方案,以便以最佳尺寸绘制选定帧,但保持方形图像(如原始图像)?更简单的是,如何选择我在图中绘制的每个帧的位置和大小

我尝试过使用sub plot:它可以工作,但我无法控制图像的大小

pos=0;
for j = 1:length(file_list)
    for i = 1:length(index_list)
         pos=pos+1;
         subplot(size(file_list,1),length(index_list),pos)
         a =imagesc(imread(file_list{j,:},index_list(i))); 
我也试过了

for j = 1:length(file_list)
    for i = 1:length(index_list)
         a =imagesc(imread(file_list{j,:},index_list(i))); 
         set(gca,'Units','Pixels', 'Position', [10+100*i 10+100*j 100 100]);
但我似乎无法在不覆盖上次修改的情况下单独设置

最后,我考虑过使用“蒙太奇”,但我在列表中保存图像的方式似乎并不合适

    frm_list=zeros(1,length(FL)*length(index_list));
for j = 1:length(FL)
    for i = 1:length(index_list)
        a =(imread(FL{j,:},index_list(i)));
        frm_list=[frm_list a];
    end
end

montage(frm_list,'Size', [length(FL) length(index_list)]); 
谢谢
JC

您可以使用
轴图像
保持原始图像的相同纵横比

subplot('Position',[left bottom width height])
允许您指定图像与地物窗口的相对位置


如果要使用非
imagesc
的命令,可以在绘制之前缩放图像的数据范围,然后使用
colormap
对图像应用假彩色。

谢谢@rwong。就像这样使用它:
scrsz=get(0,'ScreenSize');plt=图();设置(plt,“位置”,scrsz);对于j=1:length(FL)对于i=1:length(索引列表)子批次('Position',[10*i+50*i10*j+50*j50])imagesc(imread(FL{j,:},索引列表(i))
返回一个空的数字,同时使用subplot命令,就像我在上一篇文章中写的那样,给我一个正确的数字(但是自动大小不适合我的需要)。我不明白为什么。它应该根据循环使用的次数将图像添加到相关位置。很抱歉,在上一篇文章中,代码难以阅读,我不知道如何在“添加注释”窗口中使其更好
axissquare
给出了一个很好的结果,但不允许我选择子地块中两行之间的空间。再次感谢您,我将处理此axis square解决方案。