2014-10-02 44 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