3
วิธีการแปลงอาร์เรย์ NumPy เป็นภาพ PIL โดยใช้ matplotlib colormap
ฉันมีปัญหาง่ายๆ แต่ไม่สามารถหาวิธีแก้ปัญหาที่ดีได้ ฉันต้องการใช้อาร์เรย์ 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)