Matlab中的零填充

Matlab中的零填充,matlab,padding,zero,Matlab,Padding,Zero,我有图像,我想做上采样。首先,我需要在像素之间插入零,以便[1,2,3]变换为[1,0,2,0,3]。有人能告诉我如何在不使用paddarray和不使用for循环的情况下执行此操作吗 提前谢谢你 像这样的事情?: B=zeros(size(img)*2); B(1:2:end,1:2:end)=img; 然而,例如,在matlab中有一些不需要手动进行上采样的方法 然后只要处理尾随零,如果numel(V)是奇数有一个函数upsample,它在Octave Forge中就是这样做的——请参阅 或

我有图像,我想做上采样。首先,我需要在像素之间插入零,以便[1,2,3]变换为[1,0,2,0,3]。有人能告诉我如何在不使用
paddarray
和不使用
for
循环的情况下执行此操作吗

提前谢谢你

像这样的事情?:

B=zeros(size(img)*2);
B(1:2:end,1:2:end)=img;
然而,例如,在matlab中有一些不需要手动进行上采样的方法


然后只要处理尾随零,如果
numel(V)
是奇数

有一个函数
upsample
,它在Octave Forge中就是这样做的——请参阅


或者你可以看看是什么实现了它。您反对使用包或函数吗?

如果您不为数组中的索引指定一个数字,您也可以使用MATLAB动态分配变量的方法。通过省略对数组中某些位置的索引,默认情况下,MATLAB将用零填充这些值。因此:

B(1:2:5) = 1:3

B = 

1   0   2   0   3

哎呀,;很抱歉源代码明确表示与MATLAB不兼容。我想你只需要切换到八度就可以解决你的问题;-)OP不必切换到八度;)。这里有一些完全可以接受的答案。@rayryeng——很明显,OP不需要切换。这就是我眨眼微笑的目的,以表示笑话/讽刺这四个答案都在几分钟内发布,当我看到时,我投了一个不同的(更好的!)答案。我的回答意在作为教授OP或其他人“钓鱼”的参考——Octave Forge是一个很好的资源,其中大部分与MATLAB兼容。而且,偶然地,符合OP的“家庭作业”意图。有人投了反对票,这似乎表明他们不同意我的做法,但我希望这能帮助一些人!在这一点上,我完全同意你的看法!。。我也眨眨眼开玩笑:)。当MATLAB不存在时,我使用倍频程。不过我没有投你反对票。这是一个有效的方法@雷恩——事实上,我同意我们的看法。我没说你投了反对票,但有人投了。:)在这里,分歧是有效的,也是有益的;例如,当倍频程不在时,我使用MATLAB这么多笑脸!!1! :-DIt是一种家庭作业,所以我不能使用任何图像处理工具箱。但是你回答了我的问题。非常感谢。这也是我相信OP想要的+1.
B(1:2:5) = 1:3

B = 

1   0   2   0   3