python - 从 4 个角颜色插值的二维颜色渐变(256x256 矩阵)

标签 python numpy image-processing

我想要实现的是以编程方式创建一个由 256x256 颜色值矩阵表示的二维色带。可以在附图中看到预期的结果。我的起点是矩阵的 4 个角颜色,应从中插入其间剩余的 254 种颜色。虽然我在为一个轴插值颜色方面取得了一些成功,但二维计算让我有些头疼。虽然图像似乎具有非线性颜色渐变,但我对线性渐变很满意。

如果您能给我一些提示,说明如何使用 numpy 或其他工具执行此操作,我将不胜感激。

enter image description here

最佳答案

这是一个使用 zoom function 的超短解决方案来自 scipy.ndimage。我用初始颜色(此处为随机颜色)定义了一个 2x2 RGB 图像,并将其简单地缩放到 256x256,order=1 使插值线性化。这是代码:

import numpy as np
import matplotlib.pyplot as plt 

im=(np.random.rand(2,2,3)*255).astype(np.uint8)

from scipy.ndimage.interpolation import zoom
zoomed=zoom(im,(128,128,1),order=1)

plt.subplot(121)
plt.imshow(im,interpolation='nearest')
plt.subplot(122)
plt.imshow(zoomed,interpolation='nearest')
plt.show()

输出:

output from the script

关于python - 从 4 个角颜色插值的二维颜色渐变(256x256 矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485178/

相关文章:

python - 如何在这段短代码中提高 numpy 的性能?

image-processing - 如何在 Swift for iOS 中加载和编辑像素级别的位图文件?

c++ - OpenCV:为什么 ROI Mat 会失真?

image-processing - 使用 PyTorch 加载自定义图像数据集

python - Pandas 分组和计数

python - python2 和 python3 之间的执行时间略有不同

python - Matplotlib "gray"颜色图不跨越全黑到白范围

python - 装饰迭代器以在 python 中调用 next 之前更改值的好方法是什么?

python - 使用 numpy.savetxt 和 numpy.loadtxt 写入和读取复数

python - 如何根据两列的最大值拆分数组