我正在为 matlab 编写高斯金字塔代码。基本上它加载一个图像,创建一个单元阵列并用不同级别的高斯金字塔填充它。
我想在一个图形中显示填充图像的单元格数组的内容,
所以你可以看到高斯金字塔效应。这意味着原始图像是全尺寸的,其余的每个都被下采样了 2。所有这些都集中在一个数字上。
说到 Matlab,我是个业余爱好者,所以我真的不知道该怎么做。
我已经尝试了一些子图但失败了。
提前致谢。
最佳答案
我使用循环在所有图像的顶部添加零然后合并它们
示例 cell
,
im = imread('peppers.png');
for i = 1 : 5
I{i} = im(1 : 2*i : end, 1 : 2*i : end,:);
end
代码,
I
是你的手机,m = size(I{1}, 1);
newI = I{1};
for i = 2 : numel(I)
[q,p,~] = size(I{i});
I{i} = cat(1,repmat(zeros(1, p, 3),[m - q , 1]),I{i});
newI = cat(2,newI,I{i});
end
imshow(newI)
对于 2D 图像使用:
I{i} = cat(1,repmat(zeros(1 , p),[m - q , 1]),I{i});
关于arrays - 在单个图中显示存储在元胞数组中的高斯金字塔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27002563/