我正在尝试将2x2个矩阵存储在一个数组中,该数组将连接到特定大小的图像,以便进行进一步的图像处理。即:
pixx = 300; % x number of pixels;
pixy = 200; % y number of pixels;
sz=zeros(pixx,pixy,4,4);
s=reshape(sz,[pixx,pixy,[2 2],4]);
这就是我尝试用2x2矩阵填充数组的方式:
s(:,:,[],1)=[1 1; 1 1]; % **
s(:,:,[],2)=[2 2; 2 2];
s(:,:,[],3)=[3 3; 3 3];
s(:,:,[],4)=[4 4; 4 4];
双**线产生错误:";订阅的分配维度不匹配">
有没有可能给我一个如何解决这个问题的提示?
s(:,:,[],1)
选择零个数组元素。
如果要使用s(:,:,:,:,1)
,则需要为每个像素选择完整的矩阵,当然,这比右侧的阵列元素多得多。
我想这就是你想要做的:
s = zeros(1,1,2,2,4);
s(1,1,:,:,1) = [1 1; 1 1];
s(1,1,:,:,2) = [2 2; 2 2];
s(1,1,:,:,3) = [3 3; 3 3];
s(1,1,:,:,4) = [4 4; 4 4];
s = repmat(s,pixx,pixy,1,1,1);