本文用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
运行结果,就是下图。
上一篇:CAD图形如何分割保存处理
下一篇:关于桃花芯木