2010-08-13 21 views

回答

2

'lerp'ing只是一种让人感到中间价值的方式。例如,如果一个值是10,而下一个是8,那么'lerp'函数可能会返回9.有几种方法可以进行估计 - 线性,三角形等。在最简单的线性方法中,您只需要使用(distance from value 1 * value 1) + (distance from value 2 * value 2)其中距离范围从0到1.

在图像处理中,这是通过像素之间的颜色值完成的。例如,如果您放大100%以上,则可以使用lerp函数来确定在表示部分像素的区域中绘制的内容。

我应该补充一下,我看了那篇文章,并且引用了Perlin噪声。在这种类型的算法中,lerp'ing函数被广泛用于计算存在数据的点之间的值,该值可以传递到perlin或分形算法中以生成该中间点的值。

0

你会如何合成它?通过使用该功能。该函数会给你任何像素给定输入的输出。对两幅图像进行插值虽然没有任何意义,但您可能有兴趣使用插值来调整大小。它也有一些有趣的属性。正弦内插器相当于通过频率空间中的砖墙低通滤波器运行图像。

对于两幅图像,无论您感兴趣的是什么,您的函数都会执行某种添加或平均操作。如果合成某些东西,插值就相当于通过低通滤波器运行。例如,如果两幅图像以不同的速率进行采样,并且您希望将一幅图像放在另一幅图像上,则您需要在较高速率的采样图像上插入较低的速率。

0

到底是什么线性插值和

线性插值(因子A,B)=系数×A +(1.0 - 因子)* B

其中因素是在范围[0, 1.0]

wikipedia

你会如何使用合成一个图像,如果您将得到两个图像作为投入?

您需要两个相同大小的源图像(src1,src2)和目标图像(dst)。加插值因子。

然后对每个像素做(RGB颜色):

dst[x][y].r = lerp(factor, src1[x][y].r, src2[x][y].r) 
dst[x][y].g = lerp(factor, src1[x][y].g, src2[x][y].g) 
dst[x][y].b = lerp(factor, src1[x][y].b, src2[x][y].b) 
相关问题