我可以很容易地计算出 Lanczos 中使用的 sinc(x) 曲线的值,并且我已经阅读了之前关于 Lanczos 调整大小的解释,但是对于这个领域的新手,我不明白如何实际应用它们。
要使用 lanczos 重新采样,假设您将输出和输入相互叠加,点表示像素位置的位置。对于每个输出像素位置,您从该点取一个框 +- 3 个输出像素。对于位于该框中的每个输入像素,计算该位置的 lanczos 函数的值,并将输出像素坐标中与输出位置的距离作为参数。然后,您需要通过缩放计算值来归一化计算值,使它们加起来为 1。然后将每个输入像素值与相应的缩放值相乘,并将结果加在一起以获得输出像素的值。
- 例如,在编程术语中“覆盖输入和输出”实际上是什么意思?
- 在给定的方程中 lanczos(x) = { 0 if abs(x) > 3, 1 if x == 0, else sin(x*pi)/x } x 是什么?
作为一个简单的例子,假设我有一个具有 14 个值的输入图像(即在地址 In0-In13 中): 20 25 30 35 40 45 50 45 40 35 30 25 20 15
我想将其放大 2 倍,即具有 28 个值的图像(即在地址 Out0-Out27 中)。
显然,地址 Out13 中的值将与地址 In7 中的值相似,但我实际乘以哪些值来计算 Out13 的正确值?算法中的 x 是什么?