我必须创建一个线性灰度渐变,顶部有黑色阴影,底部有白色阴影。我必须使用 skimage 和 numpy。
我在 scikit 上找到了水平方向而不是垂直方向的颜色线性渐变的代码:http: //scikit-image.org/docs/dev/auto_examples/plot_tinting_grayscale_images.html。
我想要对这段代码的解释和一些关于如何把所有东西都放在灰度和垂直而不是彩色和水平的提示。谢谢!
我必须创建一个线性灰度渐变,顶部有黑色阴影,底部有白色阴影。我必须使用 skimage 和 numpy。
我在 scikit 上找到了水平方向而不是垂直方向的颜色线性渐变的代码:http: //scikit-image.org/docs/dev/auto_examples/plot_tinting_grayscale_images.html。
我想要对这段代码的解释和一些关于如何把所有东西都放在灰度和垂直而不是彩色和水平的提示。谢谢!
灰度图像可以表示为二维矩阵。假设我们想要创建一个 100x100 的渐变图像。首先,我们使用np.linspace
0 和 1 之间的 100 个值来构造梯度值。然后我们在垂直方向上重复这个向量 100 次(使用np.tile
)来形成梯度图像。在这个阶段,图像是从左到右的渐变,所以我们使用转置将其翻转为上下方向。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 100)
image = np.tile(x, (100, 1)).T
plt.imshow(image, cmap='gray')
plt.show()