我有2000张图像,每张图像的大小是Xi=320*512 double (i=1:1:2000)。我想把每个图像看成一个块,所以有2000个块,然后将它们放在一张大图像中。每个块都有一个与之对应的标签,标签范围从1到10。我的问题是如何将2000张图像放入一个大块图像中,每个块都有一个标签,如上所述?
我有 2000 张这样的图片。谁能告诉我如何将这种图像分成块?
我的评论不正确,
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 一样,我不确定你想用标签做什么。