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

时间:2026-02-12 19:03:11

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<X<a-1 and 0<Y<b-1:

            kk=(1-x0)*(1-y0)*img[X,Y]+x0*y0*img[X+1,Y+1]

            kkk=(1-x0)*y0*img[X,Y+1]+x0*(1-y0)*img[X+1,Y]

            img0[i,j]=kk+kkk

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

6、运行结果,就是下图。

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

© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com