2014-10-02 77 views
0

我必须创建一个线性灰度渐变,顶部黑色阴影和底部白色阴影。我必须使用skimage和numpy。灰度梯度与skimage或numpy

我在scikit上找到了一个颜色线性渐变的代码,它在水平方向而不是垂直方向代码:http://scikit-image.org/docs/dev/auto_examples/plot_tinting_grayscale_images.html

我想对这段代码的解释和一些关于如何把所有东西放在灰度和垂直而不是彩色和水平的提示。谢谢!

回答

1

灰度图像可以表示为一个二维矩阵。假设我们想创建一个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() 
+0

谢谢,这就是我一直在寻找的。 – theggg 2014-10-03 20:55:25