这是我上一篇文章的后续问题:Python/Scipy Interpolation(map_coordinates)
假设我想在2d矩形区域上进行插值.我的变量'z'包含如下所示的数据.每列都是一个常量值,但是,数组的每一行可能处于不同的值,如下面的注释所示.
from scipy import interpolate
from numpy import array
import numpy as np
# # 0.0000, 0.1750, 0.8170, 1.0000
z = array([[-2.2818,-2.2818,-0.9309,-0.9309], # 0.0000, 0.0000, 0.0000, 0.0000
[-2.2818,-2.2818,-0.9309,-0.9309], # 0.2620, 0.2784, 0.3379, 0.3526
[-1.4891,-1.4891,-0.5531,-0.5531], # 0.6121, 0.6351, 0.7118, 0.7309
[-1.4891,-1.4891,-0.5531,-0.5531]]) # 1.0000, 1.0000, 1.0000, 1.0000
# Rows, Columns = z.shape
cols = array([0.0000, 0.1750, 0.8170, 1.0000])
rows = array([0.0000, 0.2620, 0.6121, 1.0000])
sp = interpolate.RectBivariateSpline(rows, cols, z, kx=1, ky=1, s=0)
xi = np.array([0.00000, 0.26200, 0.27840, 0.33790, 0.35260, …Run Code Online (Sandbox Code Playgroud) 我想要实现的是以编程方式创建由256x256颜色值矩阵表示的二维颜色渐变.预期结果可以在附图中看到.我的起点是矩阵的4个角色,其间应该插入剩余的254种颜色.虽然我在插入一个轴的颜色方面取得了一些成功,但二维计算却给我带来了一些不好的麻烦.虽然图像似乎具有非线性颜色渐变,但我会对线性渐变感到满意.
如果你能给我一些提示,如何用numpy或其他工具做到这一点,我将非常感激.