我有一个黑白光谱,我想 使用这个着色图像着色。
调整这里给出的方法: 将不同的颜色图应用于蒙版,我获得了最终的彩色图像,但它缺乏光谱的特征(参见代码中的注释以获取图片finalimage的链接)。
我的代码在这里给出(在评论中包含托管图像,因为我无法在此处显示所有图像):
import numpy as np
import matplotlib.pyplot as plt
import pyfits
wavemap = "FITS/wavemap.fits.gz"
spectrum = "FITS/phxspectra.fits.gz"
image = pyfits.getdata(spectrum)
colors = pyfits.getdata(wavemap)
mask = colors > 0
colors_ma = np.ma.array(colors, mask=~mask)
kwargs = {'interpolation': 'none', 'vmin': colors[mask].min(), 'vmax': colors.max(), 'origin': 'lower', 'alpha' : 0.5}
plt.imshow(image, cmap=plt.cm.Greys_r, interpolation='none', origin='lower')
plt.imshow(colors_ma, cmap=plt.cm.jet, **kwargs)
plt.show()
#![spectrum](http://i.imgur.com/nQpzvUo.png)
#![spectrumfeatures](http://i.imgur.com/MTQ9yMl.png)
#![colorize](http://i.imgur.com/v27kjsY.png?1)
#![finalimage](http://i.imgur.com/MmnM9qK)
#![finalimagefeatures](http://i.imgur.com/t5PoJiE.png)
如果我降低 alpha 值,光谱的特征会显示得更好,但颜色会很暗淡。如果我增加 alpha 值,那么颜色会显示得更好,但光谱的特征不会显示出来。
我怎样才能从彩色图像中获得光谱的特征 和颜色而不用另一种折衷?