我有图像,我想做采样。首先,我需要在像素之间插入零,以便[1,2,3]转换为[1,0,2,0,3]。任何人都可以告诉我如何在不使用paddarray
且不使用for
循环的情况下执行此操作吗?
提前谢谢!
答案 0 :(得分:5)
答案 1 :(得分:4)
如果没有为数组中的索引指定数字,也可以使用MATLAB动态分配变量的方法。通过省略索引到数组中的某些位置,MATLAB默认会用零填充这些值。就这样:
B(1:2:5) = 1:3
B =
1 0 2 0 3
答案 2 :(得分:3)
V = [1,2,3];
padded(numel(V)*2) = 0;
padded(1:2:end) = V
如果numel(V)
为奇数
答案 3 :(得分:1)
有一个函数upsample
可以从Octave-Forge中完成此操作 - 请参阅docs on upsample。
或者您可以查看the source of upsample
以查看实现它的内容。您是否反对使用包或函数?