首页 文章

如何在图像之间执行线性插值

提问于
浏览
1

我正在读一篇关于在图像合成中使用lerp函数的paper . 究竟什么是lerp?如果给出两个图像作为输入,你将如何使用一个合成图像?

3 回答

  • 2

    '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或分形算法以生成该中间点的值 .

  • 0

    究竟什么是lerp和

    lerp(factor,a,b)= factor * a(1.0 - factor)* 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)
    
  • 1

    你会如何合成它?通过使用该功能 . 该函数将为您提供任何像素的给定输入的输出 . 插值两个图像没有任何意义,你可能有兴趣使用插值来调整大小 . 它也有一些有趣的属性 . sinc插值器相当于通过频率空间中的砖墙低通滤波器运行图像 .

    对于两个图像,无论您感兴趣的是什么,您的函数都会执行某种加法或平均 . 如果您正在合成某些内容,则插值等同于通过低通滤波器运行它 . 例如,如果以不同的速率对两个图像进行采样,并且您希望将一个图像放在另一个图像的顶部,则需要在较高速率的采样图像上插入较低的速率 .

相关问题