我必须创建一个线性灰度渐变,顶部为黑色阴影,底部为白色阴影。我必须使用skimage和numpy。
我在scikit上找到了一个颜色线性渐变的代码,它在这里是水平而不是垂直的:http://scikit-image.org/docs/dev/auto_examples/plot_tinting_grayscale_images.html。
我想对这段代码进行解释,并提供一些关于如何将所有内容放在灰度和垂直而不是彩色和水平的提示。谢谢!
答案 0 :(得分:3)
灰度图像可以表示为二维矩阵。假设我们想创建一个100x100的渐变图像。首先,我们使用np.linspace
来构造渐变值,100和0之间的值。然后我们在垂直方向上重复此向量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()