28 กรกฎาคม 2556

สนุกกับฟิสิกส์ : หาค่า g โดยการวิเคราะห์ภาพวิดีโอจากโทรศัพท์มือถือ ตอนจบ

ก่อนจะดำเนินการต่อ ครูมีรายการให้ตรวจสอบตามนี้ก่อนนะครับ ว่าเราได้ทำครบถ้วนหรือยัง

  • รู้ 35mm Equivalent ของกล้องบนมือถือเรา
  • บันทึกภาพการตกของวัตถุเป็นวิดีโอคลิปแล้วโอนไฟล์เข้าไปไว้ในฮาร์ดดิสก์ของเครื่อง หรือไม่ก็ถอดเมมโมรีการ์ดของกล้องมาต่อการ์ดรีดเดอร์(ก็แล้วแต่เทคนิคของใครของมัน)
  • และมีโปรแกรมแยกภาพวิดีโอออกมาเป็นภาพนิ่ง(FreeVideo to JPG converter)และโปรแกรมวัดระยะในภาพ ImageJ 
เมื่อเรียบร้อยแล้วก็ดำเนินการต่อไปได้เลย ถ้ายังไม่มีก็ย้อนกลับไปอ่านตอนที่แล้วก่อน

การตรวจสอบจำนวนอัตราการแสดงภาพของคลิปวิดีโอ

คลิปวิดีโอก็คือชุดของภาพนิ่งที่มาแสดงด้วยอัตราการแสดงภาพนิ่งเฉพาะจำนวนหนึ่ง (หรือต่อๆไปครูจะเรียกว่า frame rate) ได้เจ้า frame rate นี้มันมีมาตรฐานของมันอยู่ เช่น ภาพยนตร์ในยุคฟิล์ม frame rate ก็คือ 24 ภาพ/วินาที (ต่อๆไป จะใช้คำย่อว่า fps) ส่วนภาพจากโทรทัศน์ในประเทศไทยเราก็จะแสดงภาพ 25 fps เป็นต้น แต่ภาพจากคลิปวิดีโอมักไม่ค่อยอิงมาตรฐานสักเท่าไหร่ เราต้องตรวจสอบเอง วิธีการตรวจสอบก็ง่ายมาก โดยเฉพาะอย่างยิ่งใครที่ใช้ Wndows 7 เป็นโอเอสของเครื่อง วิชาการก็คือคลิกขวาที่คลิปวิดีโอของเรา คลิก Properties แล้วก็เลือกแท็บ Details ดังภาพ


จะเห็นว่าคลิปวิดีโอของครูมีขนาดภาพ 640x480 pixels มี Frame rate  เท่ากับ 17 fps  
อันที่จริงมีหลายวิธีในการดูค่า frame rate นี้ ให้ปรึกษาครูสอนคอมพิวเตอร์เอา ถามว่าเอาค่านี้มาทำอะไร ก็ต้องอธิบายต่อว่า นี่คือฐานเวลาที่เราจะเอาไปคำนวณหาความเร็วไงครับ เพราะว่า 17 fps ความหมายของมันคือ มันแสดงภาพ 17 ภาพต่อวินาที ดังนั้น ระยะเวลาแต่ละภาพนั้นจะห่างกัน 1/17 วินาที นั่นเอง  เคลียร์นะครับ เอาล่ะไปขั้นตอนต่อไป

ใช้โปรแกรมแยกคลิปวิดีโอมาเป็นภาพนิ่ง

เปิดโปรแกรม FreeVideo to jpg ขึ้นมาครับ แล้วเลือกปุ่มคำสั่ง Add Files.... 


ไปเลือกเอาไฟล์ที่เป็นคลิปวิดีโอของเราแล้วเปิดมันขึ้นมา

แล้วมาคลิกเลือก ปุ่ม Every Frame ในวินโดวส์ของโปรแกรม เลือกที่ตั้งที่จะบันทึกภาพ(เลือกแล้วจำไว้ดีๆ นะครับ เดี๋ยวหาไฟล์ภาพที่แยกแล้วไม่เจอ) แล้วก็คลิก convert 



เสร็จแล้วก็คลิกปุ่มดังแสดงในภาพ เพื่อเปิดโฟลเดอร์ที่โปรแกรมมันไปสร้างไว้ให้


จบขั้นตอนการแยกคลิปวิดีโอไปเป็นภาพนิ่ง

ทำความเข้าใจกับภาพที่ได้

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


ใช้โปรแกรมเปิดดูภาพที่เราชอบใช้ (ครูใช้ FastStone) ดูภาพ จะเห็นภาพตัววัตถุ(น็อต) ที่เราปล่อยลงมาอยู่ในตำแหน่งต่างๆ ที่ไม่ซ้ำกันในแต่ละภาพ ถ้าเลื่อนปุ่มลูกศรซ้าย-ขวา เร็วๆ เราก็จะเห็นเป็นแอนิเมชั่น อีกแบบหนึ่ง 

เราจะนำภาพเหล่านี้ออกมา 2 คู่ คู่แรกเอาตอนต้นๆ คู่หลังก็ถัดออกมาอีก ถามว่าเอามาทำอะไร คำตอบก็คือ เอามาหา u (ความเร็วต้นของวัตถุ) และหา v (ความเร็วปลาย) จากการพิจารณาภาพแล้ว ครูเลือกเอาคู่แรกคือ ภาพที่ 1-2 มาหาความเร็วต้นและภาพที่ 6-7 มาหาความเร็วปลาย  ซึ่งความเร็วต้น(u) และความเร็วปลาย(v) ที่ครูใช้นั้นห่างกัน 5 เฟรม หรือคิดเป็นเวลาก็คือ 5*1/17=5/17 วินาที นั่นเอง หรือถ้าเขียนเป็นสมการก็จะได้ว่า
t = t2-t1
จะได้  t = 5/17  s
จดตัวเลขหรือจำตัวเลขนี้ไว้ครับว่า เป็นเวลาระหว่างระหว่างการวัดความต้น(u) และความเร็วปลาย(v)

ใช้ ImageJ วัดระยะในหน่วยของพิกเซลในภาพ

เปิดโปรแกรมขึ้นมาก่อนเลย (ถ้ายังไม่ติดตั้งก็รีบติดตั้งซะ) โปรแกรมนี้ต้องใช้ตัว Java Runtime ด้วยนะครับ อาจจำเป็นต้องดาวน์โหลดมาทั้งสอง หากทำไม่เป็นอีกให้ไปปรึกษาครูสอนคอมพิวเตอร์

  1. เลือก File>Open แล้วก็เลือกไฟล์ภาพที่ 1 แล้วกดปุ่ม Ctrl+A แล้วก็ Ctrl+C (เลือกทั้งหมดแล้วก๊อปปี้) แล้วปิดไฟล์นี้ได้เลยครับ
  2. เลือก File>Open แล้วเลือกไฟล์ภาพที่ 2 แล้วคลิก Edit>Paste control... แล้วเลือก diferent
  3. แล้วคลิก Edit>Paste อีกครั้ง มันจะเป็นภาพมืดๆ แล้วจะมีขาว-เทาๆ บริเวณที่ภาพทั้งสองมันแตกต่างกัน คลิก File > Save As > .jpeg บันทึกไฟล์นี้เก็บไว้ ครูเรียกมันว่า "u.jpg"
  4. ต่อมาให้เลือกปุ่มวัดระยะแนวตรงบนแถบเครื่องมือ ดังภาพ


    แต่ถ้าภาพมันเล็กไปก็ใช้แว่นขยาย(ถัดมาทางขวาอีก 5 ปุ่ม) ไปคลิกซ้ายบริเวณภาพ ถ้าจะย่อก็คลิกขวาที่บริเวณภาพ
  5. เอาเมาส์ไปคลิกตำแหน่งที่รอยเทาๆ ด้านซ้ายก่อนแล้วลากไปทางขวากะให้กึ่งกลางรอยเทาๆ ด้านขวา ดังภาพ
  6. กดปุ่ม Ctrl+M หรือไม่ก็คลิก Analyze > Measure


    สิ่งที่ได้คือ ระยะทางในหน่วยของพิกเซลที่วัตถุเคลื่อนที่ได้ระหว่างภาพ1-2
  7. ทำแบบเดียวกันตั้งแต่ขั้นตอนที่ 1 จนถึง 7 แต่ครานี้ให้ทำกับภาพที่ 6-7 แต่ตั้งกันในขั้นตอนที่ 3 ที่เราตั้งชื่อให้ตั้งไฟล์ว่า "v.jpg"
  8. สิ่งที่เราได้จากการวัดระยะในหน่วย pixels จากภาพทั้งสองคู่

การคำนวณหา u , v และ g

จำบทความนี้ตอนแรกได้ไหมครับ ที่ครูบอกว่าต้องวัดระยะระหว่างระนาบกล้องกับเส้นทางที่วัตถุตก ตอนนี้ เราจะเอามาใช้ สำหรับการทดลองของครูคือ 157 cm 


จากภาพทางซ้ายมือก็คือ ภาพบน ccd ส่วนภาพทางขวามือก็คือระยะที่วัตถุเคลื่อนที่ได้ แต่จากความละเอียดของภาพที่เราได้จากภาพนิ่ง และขนาดของ ccd เราจะได้ความสัมพันธ์ดังภาพด้านล่างนี้


ดังนั้นในตอนนี้เราจึงหาขนาดของภาพ(ด้านขวามือ) ที่ปรากฎบน CCD ได้ดังนี้ 
ขนาดความสูงของภาพด้านขวามือ = 157*3.59/4.31cm=130.77 cm
และขนาด 130.77 cm นี้จะไปปรากฎเต็ม CCD ที่มีความละเอียด 640 pixels ฉะนั้น เมื่อเรารู้หน่วย pixels บน ccd (จากการวัดด้วย ImageJ) เราก็สามารถหาระยะในหน่วยของ cm ได้ทันทีด้วยการเทียบอัตราส่วน

ตัวอย่าง การหาระยะทางที่วัตถุเคลื่อนที่ได้จากภาพคู่แรก = 35.002*130.77/640 cm = 7.15cm
ความเร็วของวัตถุจากภาพคู่แรกคือ 7.15cm*1/17s = 7.15*17 cm/s = 121.55 cm/s หรือ 1.2155 m/s
(ตัวเลข 1/17 s มาจากการหา frame rate ที่ปรากฎในบทความตอนแรก) 

ในทำนองเดียวกันเราก็สามารถหา v ได้ โดยหาระยะก่อน(ได้เท่ากับ 116.25*130.77/640=23.75cm) ความเร็วของวัตถุก็คำนวณได้เท่ากับ 23.75*17=4.0380 m/s

ทีนี้ขั้นตอนสุดท้ายก็มาหาความเร่งของค่า g ซึ่งคำนวณจากความสัมพันธ์ดังนี้

g = (v-u)/t
 ทีนี้ก็แทนค่าลงไป  จะได้
g = (4.0380-1.2155)/(5/17) = 9.5965 m/s2

นี่คือค่าจากการทดลองของกล้องดิจิทัลจาก LG Opitimus one P500 ครับ

คาดเคลื่อนไปเท่าไร

 ก็คำนวณลองดู
 % error = |9.81-9.5965|*100/9.81 = 2.17%

ก็ไม่เลวนะครับ

เอ้ สงสัยจะต้องโละ ticker timer ที่ห้องแล็บทิ้งซะ แล้วหันมาใช้กล้องจากโทรศัพท์มือถือมาทำการทดลองแทนดีน้าาา


2 ความคิดเห็น:

  1. ขอบคุณครับ อ. สุดยอดเลยครับ มีทั้งทฤษฎืและปฏิบัติให้ดูด้วย

    ตอบลบ
  2. อาจารย์ครับ แฟนผม ขับรถเก๋งถูกรถกระบะคอกซิ่ง วิ่งเร็วชนสาหัส ได้ไฟล์กล้อง cctv และวัดระยะเส้นประ คำนวณหาความทำอย่างไร ช่วยแนะนำผมด้วยครับ ขอบคุณครับ เบอร์ผม 081-878-8646 อีเมล์ 191korat@gmail.com ครับ

    ตอบลบ