clear;
N = 24; %size
H = (hadamard(1024) + 1)/2; %Hadamard matrix
for n = 1:(912/N);
% 按三个通道提取数据
G = bi2de(H(:,(n-1)*24+1:(n-1)*24+8))';
R = bi2de(H(:,(n-1)*24+9:(n-1)*24+16))';
B = bi2de(H(:,(n-1)*24+17:(n-1)*24+24))';
% 把三通道数据复制到图像
A = zeros(1140,912,3);
G = repmat(G,912/N,1);
A(:,:,1) = repmat(G(:)',1140,1)/255;
R = repmat(R,912/N,1);
A(:,:,2) = repmat(R(:)',1140,1)/255;
B = repmat(B,912/N,1);
A(:,:,3) = repmat(B(:)',1140,1)/255;
%
figure(n);
imshow(A)
hold on;
end
运行出来:
带有下标的赋值维度不匹配。
出错 Untitled2 (line 17)
A(:,:,1) = repmat(G(:)',1140,1)/255;
不知道哪里错了啊。。我已经弄成3维的了。。
这张图片是我这段代码的具体要求,简单来说就是一个1024*1024大小的阿达玛矩阵,首先取前24行,其中1-8行为R通道,9-16行为G通道,17-24行为B通道做一张图,然后再取25-48行也做一张这样的图,一次类推,做出912/24=38张图来。。
顺便请大神帮我看看我代码其他的错。。。
照你意思要做24bit的话。。应该怎么做呢
追答你这个题目的具体要求和目的是什么, 图像大小如何设定? 912这个数怎么来的?
追问图像大小就是912*1140,912是长,1140是宽。
大神还有啥问题都可以问我!跪求帮我解决啊
把你这个题目内容完整的说一遍,好吧?不要漏掉任何条件要求。