多语言展示
当前在线:1392今日阅读:113今日分享:31

【图像处理】图像变形与逆向的双线性插值

本文用python实现图像变形,并进行双线性插值,使得变换之后的图像之间没有黑斑。
工具/原料
1

电脑

2

python

方法/步骤
1

图像如下。

2

我想把像素[i,j]变到[int(i**2-j**2),int(2*i*j)]的位置上,并把图形缩放到和原图大小一样的形状。结果如下。

3

为此,我需要确定变换之后的图像的[i,j]位置上的像素,在原图中的位置。这可以通过求解方程组,来获取逆变换来实现。

4

选择第一组解作为逆变换,需要套上绝对值符号。因为原图中的像素的位置坐标都是不小于0的。

5

但是,如果逆变换得到的像素的位置坐标不是整数,怎么办?这就需要用到一种双线性插值的算法:        X=int(x)        Y=int(y)        x0=x-X        y0=y-Y        if 0

6

运行结果,就是下图。

推荐信息