I=imread('X.jpg');
[a b]=size(I);
figure;imshow(I);
j=rgb2ycbcr(I);
figure;
imshow(j);
ca=mat2cell(j,8*ones(1,size(j,1)/8),8*ones(1,size(j,2)/8),3);
p=1;
for c=1:size(ca,1)
for r=1:size(ca,2)
subplot(8,8,p);
imshow(ca{c,r});
p=p+1;
end
end我得到以下错误:索引超过子图的数量。有什么想法吗?
发布于 2014-11-22 14:53:09
原因是在打印时,要显示的图像块比要显示的子图空间多。将您的for循环代码改为:
p = 1;
figure;
for c=1:size(ca,1)
for r=1:size(ca,2)
subplot(size(ca,1),size(ca,2),p); %// Change
imshow(ca{c,r});
p=p+1;
end
end这样,您将有与要显示的像素块一样多的子图空间可供绘制。
https://stackoverflow.com/questions/27074716
复制相似问题