如何将这些命令简化为MATLAB中的单行?
medoidContainer(:, i, 1) = squeeze(reshape(container(:, :, 1),1, y * x));
medoidContainer(:, i ,2) = squeeze(reshape(container(:, :, 2),1, y * x));
medoidContainer(:, i ,3) = squeeze(reshape(container(:, :, 3),1, y * x));
使用它们,我将RGB图像重塑为单行矩阵(对于每种颜色)。但是,如何在不必遍历每个维度的情况下执行此操作?
我尝试过:
medoidContainer(:, i ,1:3) = squeeze(reshape(container(:, :, 1:3),1, y * x));
但这不起作用。
答案 0 :(得分:1)
听起来您正在尝试将M x N x 3
数组转换为(M*N) x 3
数组。您可以按如下方式执行此操作:
a = reshape(container, [M*N 3]);
要将它分配到“容器”中,我认为你需要这个:
medoidContainer(:,i,:) = a;