top of page

🚀UPเกรด เท่าทัน Data,AI

ติดตามบทเรียนใหม่ทุกวัน ที่ทดลองทำได้ทันที

ให้การทำงานดีขึ้นได้ทุกวัน!

ชวนเพื่อนมาเรียนด้วยกันนะ!

Writer's pictureUltimate Python

สร้างระบบค้นหาอุกกาบาต ด้วย Python ไปกับ REAL WORLD PYTHON

เคยสงสัยกันไหมครับว่า ท่ามกลางท้องฟ้ายามค่ำคืนที่เต็มไปด้วย ดวงดาว ดาวเคราะห์ และสิ่งอื่นๆ มากมาย นักวิทยาศาสตร์ และนักดาราศาสตร์ทั่วโลกรู้ได้อย่างไรว่าสิ่งใด คือดวงดาวที่อยู่ห่างไกล หรือ สิ่งใดคือสิ่งแปลกปลอมที่เคลื่อนที่มายังโลก และจะทำให้เกิดอันตราย หรือแค่แวะมาเยี่ยมเยียน


REAL WORLD PYTHON | ระบบค้นหาอุกกาบาต ออกอากาศวันที่ 11 พฤษภาคม 2565 เวลา 1 ทุ่มครึ่ง


ใกล้หรือไกล ดูจากความเคลื่อนไหว


สิ่งต่างๆ ที่อยู่บนท้องฟ้า ประกอบไปด้วยทั้งดวงดาว กาแลกซี ดาวเคราะห์ และอื่นๆ อีกมากมาย สำหรับการตรวจจับสิ่งที่เข้าใกล้โลก อย่างอุกกาบาตที่อาจมีอันตราย หรือแค่ผ่านโลกไปเฉยๆ เราจะใช้ความเคลื่อนไหวที่สังเกตได้เป็นตัวคัดกรองเบื้องต้น


เนื่องจากหากสิ่งใดๆ ก็ตามที่อยู่ไกลมากๆ แม้จะเคลื่อนไหวมากแค่ไหน ความเปลี่ยนแปลงจะสังเกตได้ยาก แต่หากมีการเข้าใกล้มายังโลก ความเคลื่อนไหวจะสังเกตได้ง่ายกว่า


หอดูดาวยุคก่อนคอมพิวเตอร์


ก่อนการใช้งานคอมพิวเตอร์อย่างแพร่หลาย หลายๆ อย่างที่เกิดขึ้นอย่างอัตโนมัติในปัจจุบันต้องใช้คนเข้าไปทำ และรวมไปถึงการสังเกตการณ์สิ่งต่างๆ บนท้องฟ้า โดยสำหรับการสังเกตการณ์สิ่งต่างๆ อย่างเช่นอุกกาบาต หรือการค้นหาดาวเคราะห์ ทำผ่านอุปกรณ์ที่เรียกว่า "Blink Comparator"


Blink Comparator จะเป็นกล้องส่องภาพที่มีแขนจับภาพสองภาพ และกลไกที่ช่วยแสดงสองภาพนี้สลับกัน ทำให้เราเห็นความแตกต่างของสองภาพนี้ได้ง่ายขึ้นกว่าการมองทีละภาพ อุปกรณ์นี้เป็นอุปกรณ์ที่ถูกใช้จริง และหนึ่งในเหตุการณ์ที่สำคัญที่เกิดขึ้นเพราะอุปกรณ์นี้ คือ การค้นพบดาวพลูโต


ระบบตรวจสอบอุกกาบาตจำลอง


ในบทเรียนนี้เราจะทำการสร้าง Blink Comparator จำลองด้วย Python เพื่อทำการเปรียบเทียบภาพของ 2 คืน ให้เห็นการเดินทางของดาวเคราะห์ที่เคลื่อนที่ผ่านจุดสังเกตการณ์ และรวมไปถึงการใช้เครื่องมือจากเทคโนโลยี Computer Vision เข้าไปตรวจจับความแตกต่างของภาพสองภาพที่ช่วยทำให้การตรวจจับในลักษณะนี้ในปัจจุบันเกิดขึ้นโดยระบบอัตโนมัติที่คอยตรวจสอบให้แทนการใช้คน


Checkpoint: จะใช้ได้จริง จะต้องทำสิ่งเหล่านี้ได้!

สำหรับการสร้างโปรเจคในวันนี้ สามารถทำตามขั้นตอนตามด้านทางทีละขั้นตอน ตาม checkpoint ด้านล่างได้เลย!


Blink Comparator

Checkpoint 1 ระบุที่อยู่ไฟล์ภาพ



Checkpoint 2 เปิดภาพทั้งสองเพื่อใช้งาน

Checkpoint 3 สร้างคำสั่งเพื่อสร้างข้อมูลภาพที่ใช้งาน และเรียกใช้งานคำสั่ง

Checkpoint 4 กำหนดค่าสำหรับการตั้งชื่อหน้าจอ และกำหนดจำนวนการกระพริบ

Checkpoint 5 ทำซ้ำเพื่อให้เปิดภาพ "Blink" ให้เห็นความแตกต่าง

Checkpoint 6 สร้างคำสั่งนำภาพมาแสดงผลสลับกัน

Checkpoint 7 ทดลองใช้คำสั่งกระพริบภาพ


ตรวจจับความเคลื่อนไหวด้วย Computer Vision


Checkpoint 1 ระบุที่อยู่ไฟล์ภาพ



Checkpoint 2 เปิดภาพทั้งสองเพื่อใช้งาน

Checkpoint 3 หาความแตกต่างของ 2 ภาพ

Checkpoint 4 สร้างคำสั่งเพื่อสร้างข้อมูล และเรียกใช้คำสั่ง

Checkpoint 5 แสดงผลภาพ

Checkpoint 6 สร้างคำสั่งสำหรับการแสดงผลภาพ และเรียกใช้คำสั่ง

Checkpoint 7 ค้นหาจุดที่สว่างที่สุด (ดาวเคราะห์)

Checkpoint 8 วงกลมจุดที่สว่างที่สุดเพื่อระบุตำแหน่ง

Checkpoint 9 แสดงภาพที่มีการวงกลมให้เห็นผลลัพธ์

Checkpoint 10 สร้างคำสั่งค้นหาดาวเคราะห์ และเรียกใช้งาน

Checkpoint 11 คัดลอกภาพมาเพื่อใช้ค้นหาอีกครั้ง

Checkpoint 12 ทำการวงถมดำตำแหน่งของดาวที่หาเจอลงบนภาพที่คัดลอกมา

Checkpoint 13 ทำการค้นหาตำแหน่งดาวดวงถัดไป และวงลงไปในภาพแรก

Checkpoint 14 นำภาพแรกมาซ้อนทับกับภาพที่แสดงดาวใน 2 จุด

Checkpoint 15 แสดงผลลัพธ์จากการค้นหา


อยากค้นหาอะไรในอวกาศ? บอกเราผ่าน Discord เวปไซต์ที่น่าสนใจจะถูกหยิบมาสร้างเป็นบทเรียนถัดไป!

321 views

Comments


bottom of page