เอาล่ะฉันกำลังเล่นกับการแปลงวัตถุรูปภาพ 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 * yrows x columns