0

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

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

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

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

4

1 回答 1

0

您可以使用axis image来保持原始图像的相同纵横比。

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

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

于 2012-06-18T19:53:09.953 回答