我有2000个图像,每个的大小是Xi = 320 * 512 double(i = 1:1:2000)。我想将每个图像视为一个块,因此有2000个块,然后将它们放在一个大图像中。对于每个块,都有一个与之对应的标签,标签范围从1到10.我的问题是如何将2000个图像放入一个带有每个块标签的大块图像中,如上所述?
我有2000张这样的照片。谁能告诉我如何将这种图像放入块中?
答案 0 :(得分:0)
我的评论不正确,reshape
无法解决您的问题。但是,我确实使用reshape
来创建一个示例图像数组。
% Replace these with 320, 512, and 2000.
nx = 2;
ny = 3;
nz = 4;
% nz images, each of size nx by ny
images = reshape(1: nx * ny * nz, nx, ny, nz)
% Put each image into a larger image composed of n1 * n2 blocks
n1 = 2;
n2 = 2;
image = zeros(n1 * nx, n2 * ny);
% Note, nz == n1 * n2 must be true
iz = 0;
for i1 = 1: n1
for i2 = 1: n2
iz = iz + 1;
image((i1 - 1) * nx + 1: i1 * nx, (i2 - 1) * ny + 1: i2 * ny) ...
= images(:, :, iz);
end
end
image
这会正确创建大块图像。您可能希望更改循环的内部/外部顺序以执行列主要排序,而不是行主顺序。
与paisanco一样,我不确定你想用标签做什么。