Tôi có một vấn đề đơn giản, nhưng tôi không thể tìm ra giải pháp tốt cho nó.
Tôi muốn lấy một mảng NumPy 2D đại diện cho hình ảnh thang độ xám và chuyển đổi nó thành hình ảnh PIL RGB trong khi áp dụng một số bản đồ màu matplotlib.
Tôi có thể nhận được đầu ra PNG hợp lý bằng cách sử dụng pyplot.figure.figimage
lệnh:
dpi = 100.0
w, h = myarray.shape[1]/dpi, myarray.shape[0]/dpi
fig = plt.figure(figsize=(w,h), dpi=dpi)
fig.figimage(sub, cmap=cm.gist_earth)
plt.savefig('out.png')
Mặc dù tôi có thể điều chỉnh điều này để có được những gì tôi muốn (có lẽ sử dụng StringIO để có được hình ảnh PIL), tôi tự hỏi liệu không có cách nào đơn giản hơn để làm điều đó, vì dường như đó là một vấn đề rất tự nhiên của hình ảnh. Hãy nói, một cái gì đó như thế này:
colored_PIL_image = magic_function(array, cmap)