ให้ลูกบอลอยู่กลางภาพพอดี
การจะหามุมที่ใช้ในการ pan/tilt
ได้นั้นเราต้องทราบระยะห่างระหว่างลูกบอลกับกล้อง
เพราะถ้าหากลูกอยู่ใกล้ ต้องใช้มุมในการหมุนมาก
แต่ในทางตรงกันข้ามถ้าหากลูกอยู่ไกล ต้องใช้มุมในการหมุนน้อย
หาระยะระหว่างลูกบอลกับกล้อง
โดยอาศัยหลักการว่าวัตถุที่อยู่ใกล้ จะมีขนาดใหญ่(ในภาพที่ได้จากกล้อง)
และมีขนาดเล็ก เมื่ออยู่ไกล
แต่เราใช้กล้องเพียงกล้องเดียวดังนั้นจึงสามารถระบุความลึกได้เมื่อเรารู้ขนาดวัตถุเท่านั้น(ขนาดวัตถุไม่เปลี่ยนแปลง แต่ขนาดวัตถุในภาพเปลี่ยนแปลง)
เก็บตัวอย่างเพื่อหาความสัมพันธ์
เราเก็บภาพลูกปิงปองที่ระยะต่างๆกัน เพื่อหา
z = ระยะห่างระหว่างลูกปิงปองกับกล้อง
r = ขนาดรัศมีของลูกปิงปองในภาพ
z(cm) | r(pixel) |
15 | 41 |
20 | 30 |
25 | 26 |
30 | 21 |
สรุปความสัมพันธ์
z= -0.737r + 44.25
หามุมกว้างของกล้อง
กล้องสามารถถ่ายภาพได้ 15.5 cm. ที่ระยะห่าง 15 cm.
ที่ระยะความลึกต่างๆ เราสามารถหาความกว้างของถาพได้ดังนี้
W = 2* z * tan 48.95
เทียบระยะในภาพกับระยะจริง
b = (160-x)/320*W
หามุมที่ต้องใช้ในการ pan/tilt
เราจะใช้ทฤษฤีสามเหลี่ยมคล้าย
จากสูตร tan d = a/b
ดังนั้นมุม ก็คือpan
arctan (b/a) = arctan (b/z)
= arctan [ ((160-x)/320*W) / (-0.737r + 44.25)]
= arctan [((160-x)/320*2* z * tan 48.95)/ (-0.737r + 44.25) ]
ในกรณีของมุม Tilt
ทำในลักษณะเดียวกันจะได้
มุมสูงของกล้อง
H = 2* z * tan 55.01
เทียบระยะในภาพกับระยะจริง
b = (120-y)/240*H
สามเหลี่ยมคล้าย จะได้
rctan(a/b) = arctan [ ((120-y)/240* 2* z * tan 55.01) / (-0.737r + 44.25) ]
ไม่มีความคิดเห็น:
แสดงความคิดเห็น