2016-03-02 79 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