Matlab中的简单抗锯齿

时间:2015-01-06 22:25:28

标签: matlab antialiasing

在Matlab中似乎有几十种不同的方法可以做到这一点,但我需要一个快速且高性能的简单方法,并且不能真正找到一个(插值有很多条目,但我没有寻找抗锯齿)。

给定一些填充0的一维数组,例如

[0 0 0 0 0]

我需要能够在某个非整数索引v上添加一个值i。例如,如果v为10且i为2.75,我们会接近

[0 2.5 7.5 0 0]

我可以手动完成,但我确信已经内置了一些东西。

1 个答案:

答案 0 :(得分:2)

手动可能是最快的:

x = [0 0 0 0 0]; %// original data
ind = 2.75; %// index of new value
val = 10; %// new value
ind_int = floor(ind); %// integer part of index
ind_fr = ind - ind_int; %// fractional part of index
x(ind_int) = x(ind_int) + (1-ind_fr)*val; %// or maybe x(ind_int) = (1-ind_fr)*val;
x(ind_int+1) = x(ind_int+1) + ind_fr*val; %// maybe x(ind_int+1) = ind_fr*val;