在二维数组中,有 bmp 文件的像素。它的大小是我缩放的宽度(3 * 65536)*高度(3 * 65536)。就像这样。
1 2 3 4
5 6 7 8
9 10 11 12
在 1 和 2 之间,当我放大原始二维阵列时,有 2 个孔。(乘以 3)
我使用像这样的一维数组访问方法。
数组[y* 宽度 + x]
index
0 1 2 3 4 5 6 7 8 9...
1 2 3 4 5 6 7 8 9 10 11 12
(this array is actually 2-d array and is scaled by multiplying 3)
现在我可以像这个解决方案一样修补这个洞。在双 for 循环中,在条件 (j%3==1)
Image[i*width+j] = Image[i*width+(j-1)]*(1-1/3) + Image[i*width+(j+2)]*(1-2/3)
在另一种情况下( j%3==2 )
Image[i*width+j] = Image[i*width+(j-2)]*(1-2/3) + Image[i*width+(j+1)]*(1-1/3)
这就是我知道我可以修补所谓的“双线性插值”的孔的方式。
在将这个逻辑实现到我的代码中之前,我想确定我所知道的。谢谢阅读。