2016-03-02 87 views
0

這看起來像是一個簡單的問題,但它引發了我的循環。對於我正在處理的代碼,我使用matplotlib.image.imsave函數來保存非常厚的膀胱圖像。圖像是灰度圖像,對於較粗的區域,灰度值較低,反之亦然。我的問題是,使用matplotlib函數將它轉換成彩色圖像,這是我想要的,但是,圖像到圖像的背景不一致。在Python中使用Matplotlib時的常量背景顏色

我已附加圖像以向你展示我的意思。我的問題是,它是那樣簡單添加**kwargs到matplotlib功能,說:

matplotlib.image.imsave('thickness.png', image_array, **kwargs)

在那裏我可以讓kwargs給我一個恆定的藍色背景?

厚膀胱用紅色突出顯示很厚的地區: thick bladder with red highlighting very thick regions

薄囊具有不同的背景比一個厚: thin bladder has a different background than the thick one

+0

難道是與你的圖像灰度值的範圍是多少? IE瀏覽器。第一個數字可能會比第二個數字的範圍更大。 – GWW

+0

這是一種可能性。我在想,matplotlib想要最大限度地發揮這種方式顯示它的對比。我試圖從sklearn.preprocessing import normalize中使用正常化的圖像,但由於範圍如此不同,我最終得到了相同的圖像進行標準化,我想不出一種方法來使它們的範圍相同。 –

+2

你嘗試過'vmin/vmax'參數嗎? [imshow docs](http://matplotlib.org/api/pyplot_api.html?highlight=imshow#matplotlib.pyplot.imshow) – Bonlenfum

回答

0

使用這個給了我一個更加一致的背景。我使用vmin/vmax函數並使用顏色貼圖進行播放。我的背景現在更加一致。不是同一種顏色,但至少兩幅圖像的背景都是一片藍色,足以滿足我所做的一切。

thick = f + filtered_array 
q = amax(thick) 
o = amin(thick) 
matplotlib.image.imsave('thickness.png', thick, vmin = o, vmax = q, cmap = 'seismic') 

Thin bladder