อะไรคือความเชื่อมโยงระหว่าง homography ที่คำนวณจาก 2 ภาพและ homography ที่คำนวณเหนือรูปภาพเดียวกันคว่ำ?


9

ด้วยOpenCVฉันคำนวณการถ่ายภาพระหว่างพูดภาพสองภาพนี้:

ภาพแรก

และ

ภาพที่สอง

ไม่ต้องกังวลกับสีขาวแปลก ๆ ทางด้านขวามันเป็นเพราะตัวยึดสมาร์ทโฟนที่ฉันใช้ homography ที่กำหนดโดยfindHomography ()ฟังก์ชั่น (ใช้คะแนนที่ตรวจพบกับตัวตรวจจับคุณลักษณะอย่างรวดเร็วและตัวจับคำอธิบาย HammingLUT ) คือ:

A = [ 1.412817430564191,  0.0684947165270289,  -517.7751355800591;
     -0.002927297251810,  1.210310757993256,     39.56631316477566;
      0.000290600259844, -9.348301989015293e-05,  1]

ตอนนี้ฉันใช้กระบวนการเดียวกันเพื่อคำนวณ homography ระหว่างภาพเดียวกันที่หมุนไป 180 องศา (กลับหัว) โดยใช้imagemagick (ตามความเป็นจริงฉันสนใจที่จะทราบความสัมพันธ์ของการหมุน 90 หรือ 270 องศา ... ) ที่นี่พวกเขาคือ:

ภาพแรกคว่ำ

และ

ภาพที่สองคว่ำ

ด้วยภาพเหล่านี้การทำตัวพิมพ์จะกลายเป็น:

B = [ 0.7148688519736168,  0.01978048500375845,  325.8330631554814;
     -0.1706219498833541,  0.8666521745094313,    64.72944905752504;
     -0.0002078857275647, -5.080048486810413e-05,  1]

ตอนนี้คำถามคือคุณเกี่ยวข้อง A และ B ได้อย่างไร ค่าทแยงมุมสองค่าแรกของ A ใกล้เคียงกับค่าผกผันของค่า B แต่ไม่แม่นยำมาก (.707805537 แทน 0.71486885) จุดประสงค์สุดท้ายของฉันคือการใช้ความสัมพันธ์ที่ต้องการเพื่อแปลงเมทริกซ์สุดท้ายโดยหลีกเลี่ยงการคำนวณการหมุนภาพที่มีราคาแพง

คำตอบ:


4

ฉันคิดว่าเมื่อดูสูตรของเมทริกซ์ homography: โดยที่คือเมทริกซ์การหมุนที่ถูกหมุนเมื่อเทียบกับ ; คือเวกเตอร์การแปลจากถึง ; และเป็นเวกเตอร์ปกติของระนาบและระยะห่างจากระนาบตามลำดับ (ดูระนาบ Homography-3D ถึงสมการระนาบ )

Hba=RtnTd
Rbatabnd

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


ฉันไม่เข้าใจในความหมายของคุณ จากสมการฉันได้ค่าปกติMat invT = 1./t; Mat n = invT.t() * (H - R);(จริง ๆ แล้วมันn/d) ตอนนี้ "การใช้การหมุนกับมัน" ทำให้เวกเตอร์ 3x1 ของฉัน แต่ฉันจะใช้มันเพื่อคำนวณเมทริกซ์ homography ได้อย่างไร ขอบคุณ
StéphanePéchard

เพิ่มข้อมูลเพิ่มเติมหวังว่าจะทำให้ชัดเจน
Geerten

ทำไมมัน - t / d และไม่ + t / d
Maystro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.