我策劃這個圖像的灰度版本: a busy cat http://matplotlib.org/_images/griddata_demo.png灰度的蟒蛇 - incorect顏色暗灰色變爲淺灰色到深灰色
來源:http://matplotlib.org/examples/pylab_examples/griddata_demo.html
我用下面的代碼:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from PIL import Image
file_name = 'griddata_demo.png'
def func_grey(fname):
image = Image.open(fname).convert("L")
arr = np.asarray(image)
plt.imshow(arr, cmap = cm.Greys_r)
plt.show()
func_grey(file_name)
Display image as grayscale using matplotlib
我工作的設置是有蟒蛇2.7和Pandas和我已經安裝了Pillow,安裝簡單。有關圖像的要求和
背景資料:
- 的圖像來自於數據發現here。理想情況下,此圖像的灰度 版本應直接從此原始數據生成 data.i.e.不要將它保存爲彩色圖像,然後嘗試將 轉換爲灰度 - 而只是生成灰度版本的圖。
- 我不知道對應於z值的顏色 - 這些顏色可以任意設置。
- 圖像的顏色圖也可以任意選擇 - 沒有偏好。它是 是值得關注的灰度版本。
我的問題與顏色欄中顯示的配色方案有關。我需要顯示顏色欄中顏色從淺灰(最低強度)到深灰(最高強度)的顏色方案。
運行上述代碼後,會生成灰度圖像。在灰度圖像的顏色條中,強度等級-0.36是深灰色。在0.00時,它是淺灰色的。但是0.48也是深灰色的。
問題: 是否可以更改顏色映射,使-0.36爲淺灰色,0.48爲深灰色?我的意思是,是否有可能從淺色到黑色顯示顏色條?
這是一個衆所周知的原始圖像的色彩問題:也就是說,它沒有單調亮度(在你的情況下,'0'處的綠色比紅色或藍色亮極端..你可以看到它,所以不要責怪你的轉換器)。因此,不需要使用亮度進行轉換,您需要反轉原始顏色圖。或者,如果您可以從頭開始製作彩色圖像,並且不需要執行現有圖像,請選擇其他顏色圖,例如「hot」或cubehelix等。 – tom10 2014-10-07 02:39:19
@ tom10:謝謝。我正在研究你的第一個答覆。我還會根據鏈接閱讀您的第二條評論,並在嘗試完成後回到此處。 – 2014-10-07 11:59:35
主要問題是,你原來的色彩地圖是什麼?由於上述僅僅是一個演示,顏色地圖的細節是至關重要的(因爲有些是微不足道的,有些很難),從一開始就知道這一點很重要。 – tom10 2014-10-07 14:12:44