编译蒙太奇后获得全分辨率图像

Getting a full resolution image after compiling a montage

我正在使用 MATLAB 将多个高分辨率图像拼接在一起,将叠加坐标注册到文本文件中,然后读取文本文件并加载拼接图像。但是,一旦我有了蒙太奇,组成蒙太奇的单个图像就会失去分辨率。有没有办法以完整分辨率显示每个单独图像的蒙太奇?

这是代码。

file = 'ImageFile.txt';
info = importdata(file);
ImageNames = info.textdata(:,1);
xoffset = info.data(:,1);
yoffset = info.data(:,2);
for i=1:length(ImageNames)
    diffx(i) = xoffset(length(ImageNames),1) - xoffset(i,1);
end
diffx = (diffx)';
for j=1:length(ImageNames)
    diffy(j) = yoffset(length(ImageNames),1) - yoffset(j,1);
end
diffy = (diffy)';
colormap(gray(256));
for k=1:length(ImageNames)
    imshow(ImageNames{k,1}, 'XData', [diffx(k,1) (size(ImageNames{1},2) + diffx(k,1))], 'YData',[diffy(k,1) (size(ImageNames{1}, 1) + diffy(k,1))]), hold on
end

这是我用来实现蒙太奇的方法。你可能感觉不一样。

我假设您在最终蒙太奇中拥有每个图像位置的坐标。

假设我必须创建 9 张图像的蒙太奇,它们被命名为 1.jpg、2.jpg、3.jpg、... 9.jpg.

for i=1:9
    filename = sprintf('%d.jpg',i);
    a{i} = imread(filename);
end

montage = [a{1} a{2} a{3}; a{4} a{5} a{6}; a{7} a{8} a{9}];

imshow(montage);
imwrite(montage, 'montage.jpg');