Category Archives: มัธยม

วิทย์ม.ต้น: ใช้ Pillow ใน Python รวมภาพเข้าด้วยกัน

วันศุกร์ที่ผ่านมาเด็กๆหัดใช้ Pillow กันต่อครับ (ต่อจากศุกร์ที่แล้ว) คราวนี้โจทย์คือต่อภาพสองภาพเข้าด้วยกันโดยสามารถกำหนดความสูงหรือความกว้างภาพผลลัพธ์ได้ เด็กๆก็ศึกษาวิธีทำจาก https://automatetheboringstuff.com/chapter17/ และ https://pillow.readthedocs.io/en/stable/handbook/index.html และค่อยๆเขียนโปรแกรมไปครับ

หน้าตาของตัวโปรแกรมจะเป็นประมาณนี้ครับ:

สามารถดาวน์โหลด Jupyter Notebook ที่มีตัวอย่างโค้ดทั้งหมดที่นี่นะครับ

วิทย์ม.ต้น: Cognitive Biases สามอย่าง, ประดิษฐ์เครื่องฟอกอากาศแบบง่ายๆ

วันนี้เราก็คุยกันเรื่อง cognitive biases สามอย่างที่เด็กๆไปอ่านในหนังสือ The Art of Thinking Clearly ในสัปดาห์ที่ผ่านมาครับ คราวนี้เรื่อง Groupthink, Neglect of Probability, และ Scarcity Error

Groupthink คือการตัดสินใจตามๆกัน อาจเป็นเพราะไม่อยากขัดเสียงส่วนใหญ่ หรือคิดว่าคนอื่นๆคิดดีแล้วเราขี้เกียจคิดก็ตัดสินใจตามๆเขา ในการประชุมใดๆก็ตามถ้ามีการตัดสินใจแบบเหมือนกันหมดให้ระวังและพยายามหาเหตุผลและข้อมูลมาแย้งว่ามีอะไรบ้างด้วย

Neglect of probability คือการที่คนเรากะประมาณความน่าจะเป็นต่างๆไม่ถูกต้องหรือไม่สอดคล้องกับความเป็นจริง ทำให้ประมาณความเสี่ยงต่างๆผิดพลาด ยกตัวอย่างเช่นเราไม่เข้าใจโอกาสถูกล็อตเตอรี่ต่างๆ หรือไม่สามารถแยกได้ระหว่างความน่าจะเป็น 1/หมื่น 1/ล้าน 1/100ล้าน ฯลฯ

Scarcity error คือการที่เราให้มูลค่ากับของที่มีจำกัดมากกว่าความเป็นจริง จะพบเห็นบ่อยๆตามร้านค้าหรือเว็บขายของที่บอกว่าของมีจำนวนจำกัด หรือซื้อได้จำกัดจำนวนชิ้น หรือลดราคาถึงวันที่…เท่านั้น หรือการที่คนยินดีจ่ายเงินมากๆกับของที่มีจำกัดทั้งๆที่บางทีของนั้นๆไม่ได้ดีกว่าแบบอื่นๆที่มีจำนวนมากกว่า

จากนั้นผมเล่าเรื่องไส้กรองอากาศ HEPA ให้เด็กๆฟัง แล้วเด็กๆก็ช่วยกันประกอบเครื่องฟอกอากาศแบบง่ายๆที่เอาพัดลมและไส้กรองอากาศมาต่อกัน ทำตามแบบที่ผมทดลองทำแบบนี้ครับ ผมเคยทดลองสำหรับห้องปิด 30 ตารางเมตรต้องใช้เวลาประมาณ 2-3 ชั่วโมงที่จะลด PM 2.5 จาก 50 ไมโครกรัมต่อลูกบาศก์เมตรเป็น 22 ไมโครกรัมต่อลูกบาศก์เมตร โดยมีพัดลมปกติอีกตัวเป่าลมผ่านหน้าเครื่องกรองให้อากาศไหลเวียนเยอะๆ:

วิทย์ม.ต้น: หัดใช้ Pillow ใน Python เพื่อจัดการภาพ

วันศุกร์ที่ผ่านมาผมแนะนำให้เด็กๆรู้จัก Pillow ซึ่งมีความสามารถในการจัดการรูปภาพและใช้ได้ง่ายๆจาก Python ถ้าติดตั้ง Anaconda Python แบบที่เด็กๆติดตั้งก็จะสามารถเรียกใช้ได้เลย ไม่อย่างนั้นต้องไปโหลดที่ https://python-pillow.org

เด็กๆหัดใช้ Pillow ตามหนังสือ Automate the Boring Stuff with Python บทที่ 17 หัดเปิดภาพ และพิมพ์คำสั่งต่างๆตามหนังสือ

ผมใช้ Pillow ทำโปรแกรมตัวอย่างทำภาพอนิเมชั่น อย่างที่เด็กๆได้เล่นและหัดอธิบายการทำงานไปเมื่อวันพุธ โดยโปรแกรมจะจัดเรียงส่วนต่างๆของภาพ 6 ภาพมาต่อกันเป็นภาพเคลื่อนไหวให้ถูกต้อง

หน้าตาโปรแกรมส่วนจัดขนาดให้เหมาะสมเป็นอย่างนี้ครับ:

ส่วนที่เอาภาพหลายๆภาพมาหั่นเป็นชิ้นๆแล้วต่อกันให้ถูกต้องเหมาะที่เป็นอนิเมชั่นหน้าตาแบบนี้ครับ:

ตัวอย่างการเรียกใช้ให้จัดการภาพ 6 ภาพ (1.JPG, 2.JPG, 3.JPG, 4.JPG, 5.JPG, 6.JPG) ให้มารวมกันเป็นภาพเดียว (result3.JPG) ทำแบบนี้ครับ:

สามารถโหลด Jupyter notebook ที่มีโปรแกรมเหล่านี้ได้ที่นี่ครับ