'lerp' ing只是一种猜测中间 Value 的方法 . 例如,如果一个值为10,而下一个值为8,则'lerp'函数可能会返回9.其中's several ways to make the estimation - linear, trigonomic, etc. At its simplest, linear, you'只是采用 (distance from value 1 * value 1) + (distance from value 2 * value 2) ,其中距离范围从0到1 .
3 回答
'lerp' ing只是一种猜测中间 Value 的方法 . 例如,如果一个值为10,而下一个值为8,则'lerp'函数可能会返回9.其中's several ways to make the estimation - linear, trigonomic, etc. At its simplest, linear, you'只是采用
(distance from value 1 * value 1) + (distance from value 2 * value 2)
,其中距离范围从0到1 .在图像处理中,这是通过像素之间的颜色值来完成的 . 例如,如果要放大100%,则使用lerp函数确定在表示部分像素的区域中绘制的内容 .
我应该补充一下,我看了那篇文章,它引用了Perlin的噪音 . 在这种类型的算法中,lerp'ing函数被广泛用于计算存在数据的点之间的值,这些点可以被传递到perlin或分形算法以生成该中间点的值 .
lerp(factor,a,b)= factor * a(1.0 - factor)* b
因子在[0,1.0]的范围内
见wikipedia
您需要两个相同大小的源图像(src1,src2)和目标图像(dst) . 加插值因子 .
然后为每个像素做(RGB颜色):
你会如何合成它?通过使用该功能 . 该函数将为您提供任何像素的给定输入的输出 . 插值两个图像没有任何意义,你可能有兴趣使用插值来调整大小 . 它也有一些有趣的属性 . sinc插值器相当于通过频率空间中的砖墙低通滤波器运行图像 .
对于两个图像,无论您感兴趣的是什么,您的函数都会执行某种加法或平均 . 如果您正在合成某些内容,则插值等同于通过低通滤波器运行它 . 例如,如果以不同的速率对两个图像进行采样,并且您希望将一个图像放在另一个图像的顶部,则需要在较高速率的采样图像上插入较低的速率 .