เอาล่ะฉันกำลังเล่นกับการแปลงวัตถุรูปภาพ PIL ไปมาเป็นอาร์เรย์ที่มีจำนวนมากดังนั้นฉันจึงสามารถแปลงพิกเซลได้เร็วขึ้นโดยการแปลงพิกเซลกว่าPixelAccess
วัตถุของ PIL ฉันพบวิธีวางข้อมูลพิกเซลในอาร์เรย์แบบสามมิติที่มีประโยชน์โดย:
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
แต่ดูเหมือนว่าฉันจะไม่สามารถหาวิธีโหลดมันกลับเข้าไปในวัตถุ PIL ได้หลังจากที่ฉันได้ทำการแปลงที่ยอดเยี่ยมทั้งหมดแล้ว ฉันตระหนักถึงputdata()
วิธีการ แต่ดูเหมือนจะไม่สามารถทำให้มันทำงานได้
pic.size[0]
และpic.size[1]
ควรจะสลับ (ie.reshape(pic.size[1], pic.size[0], 3)
) เนื่องจากsize
เป็นwidth x height
หรือในขณะที่แมทริกซ์คือการสั่งซื้อx * y
rows x columns