gpt4 book ai didi

matlab - 将蒙太奇保存为图像 matlab

转载 作者:行者123 更新时间:2023-12-03 03:11:33 25 4
gpt4 key购买 nike

我有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”的输出只是一个数字。

最佳答案

我想指出一种更好的方法。虽然 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

关于matlab - 将蒙太奇保存为图像 matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com