ฉันมีปัญหาง่ายๆ แต่ไม่สามารถหาวิธีแก้ปัญหาที่ดีได้
ฉันต้องการใช้อาร์เรย์ NumPy 2D ซึ่งแสดงถึงภาพสีเทาและแปลงเป็นภาพ RGB PIL ในขณะที่ใช้ colormaps ของ matplotlib
ฉันสามารถรับเอาต์พุต PNG ที่เหมาะสมได้โดยใช้pyplot.figure.figimage
คำสั่ง:
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')
แม้ว่าฉันจะปรับสิ่งนี้เพื่อให้ได้สิ่งที่ต้องการ (อาจใช้ StringIO เพื่อรับภาพ PIL) แต่ฉันสงสัยว่าไม่มีวิธีที่ง่ายกว่านี้ในการทำเช่นนั้นเนื่องจากดูเหมือนว่าจะเป็นปัญหาที่เป็นธรรมชาติมากในการสร้างภาพ สมมติว่าสิ่งนี้:
colored_PIL_image = magic_function(array, cmap)