Hi Mark,
vielen Dank für die ausführliche Antwort!
Ich hab irgendwie keine email-Benachrichtigung gekriegt, dass auf
meine Frage geantwortet wurde, und hab deinen Beitrag jetzt erst durch
ne google-Suche gefunden, deswegen erst so spät.
Ich hab deine Idee mal implementiert, funktioniert wunderbar:
-------
import Image
from pylab import *
# generate example picture
f=figure()
jet()
imshow(random((100,100)))
f.savefig("c:/i.png")
i=Image.open("c:/i.png")
color_image=array(i)[:,:,:3].astype(uint8)
# rasterize cm.jet
gray_to_color=(cm.jet(linspace(0,1,256))[:,:3]*255).astype(uint8)
#generate reverse LUT
color_to_gray = zeros((256, 256, 256), dtype=uint8)
color_to_gray [gray_to_color[:,0], gray_to_color[:,1], gray_to_color[:,
2]] = arange (0, 256, dtype=uint8)
# use reverse LUT
new_gray_image = color_to_gray[color_image[:,:,0], color_image[:,:,1],
color_image[:,:,2]]
gray()
imshow(new_gray_image)
show()
--------
Das ganze funktioniert nur, wenn bei imshow interpolation="nearest"
gewählt wird, sonst entstehen in dem Bild auch Farben, die in der
colormap nicht auftauchen.
Danke jedenfalls, ciao
Tom