【问题标题】:Save montage as image matlab将蒙太奇另存为图像 matlab
【发布时间】:2014-12-05 23:05:14
【问题描述】:

我有 225 幅图像与 matlab 中的蒙太奇函数放在一起。我可以用蒙太奇向他们展示。但我无法将蒙太奇保存为完整图像,请帮助我。

path = uigetdir;

D=dir(fullfile(path,'*.tif'));

imcell = cell(1,numel(D));
imcropped = cell(1,numel(D));

figure(1);
title('Drag square to crop picture, end with a double click',...
  'FontSize', 15 , 'HandleVisibility' , 'off' ) ;
axis equal
set( gca , 'NextPlot' , 'replacechildren') ;
imcell1 = imread(D(50).name);
[~, rect] = imcrop(imcell1);
close(figure(1));
% 
for i = 1:numel(D)
  imcell{i} = imread(D(i).name);
  imcropped{i} = imcrop(imcell{i}, rect);
end

h=montage(cat(4,imcropped{:}),'Size', [15 15] );

蒙太奇“h”的输出只是一个数字。

【问题讨论】:

    标签: matlab save montage


    【解决方案1】:

    我想指出一个更好的方法来做到这一点。虽然 Benoit_11 的方法在技术上是正确的,但它将图像的分辨率限制在屏幕的大小。当您使用getframe(gca) 时,Matlab 会有效地截取当前坐标区的内容,无论您的图形窗口当前处于何种大小。

    更好的方法是使用句柄,因为它引用montage() 的实际图形输出而不是它显示的内容。要从句柄中保存图像,您需要从它使用get 引用的对象中获取cdata

    h=montage(cat(4,imcropped{:}),'Size', [15 15] );
    MyMontage = get(h, 'CData');
    imwrite(MyMontage, 'FancyName.tif', 'tif');
    

    通过这种方式,您可以获得蒙太奇的完整分辨率,而不仅仅是显示它的分辨率。

    有关图像句柄的更多信息:http://www.mathworks.com/help/matlab/creating_plots/the-image-object-and-its-properties.html

    【讨论】:

      【解决方案2】:

      你快到了!值“h”实际上是您在图中制作的蒙太奇创建的图像对象的句柄。您可以做的是使用getframe 捕获图形(图形对象)的内容并将其保存为图像。这是一个非常简单的例子,代码直接跟在你的后面

      h=montage(cat(4,imcropped{:}),'Size', [15 15] );
      
      MyMontage = getframe(gca) %// Get content of current axes. I did it with sample images.
      

      输出如下:

      MyMontage = 
      
             cdata: [384x1024x3 uint8] % Yours will be different
          colormap: []
      

      因此,您可以将存储在 cdata 中的实际数据保存在新文件中,一切顺利!

      imwrite(MyMontage.cdata,'FancyName.tif','tif');
      

      【讨论】:

      • 使用 getframe 的脚本将蒙太奇保存在与 GUI 相同的大小中。有没有办法以真实大小保存蒙太奇?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多