2010-11-18 4 views
5

Bir düzlemin iki farklı gösterimi içinde bir noktayı bulma sorununu çözmeye çalıştığımız sorun. Sahip olduğumuz ilk uçak perspektif yaratmak için döndürülüyor; İkincisi, aynı düzlemin 2d görüntüsüdür. Eşdeğer olduğunu bildiğimiz planların her birinde 4 puan var. Soru, eğer düzlemde (1) keyfi bir noktaya sahipsek, düzlemde (2) karşılık gelen noktayı nasıl bulabiliriz? Sorunu en iyi şekilde açıklamak için kullanım durumunu göstermek en iyisidir. Solda resmedilmiş bir resmimiz var. alt text4 nokta ile belirlenen keyfi bir düzlemi 2d düzlemine nasıl yansıtabilirim?

boşluk

ait

Projective plane

alt text

2D düzen şeması Yani elimizdeki givens hem resimlerden kırmızı kareler vardır. Mümkünse, 2D alanının zorunlu olarak bir karenin olmaması gerektiğini unutmayın. Bunlar bizim için önceden bilinmekte ve bilinmekte. İlk görüntüdeki düzlemde de yeşil noktalar var. Resim 1'deki noktanın bir yansımasını resim 2'deki boşluğa yapabilmeyi isterdim.

Resim için de dikkate alın 1 Tanımlı bir pencere veya göz pozisyonum yok. Resim 1'deki kırmızı karenin kırmızı karekök form 2'nin bir dönüşümü olduğunu ve görüntü 2'nin 2D uzayda olduğunu biliyorum.

+0

Fotoğraf noktalarınız için (x, y, z) varsa veya bazı zAMANLARINIZI SAKLAYINIZ ... –

+2

Eğer OpenCV'den hoşlanıyorsanız, bu sorun homografiyi bulmak olarak bilinir ('cv :: findhomography'). Bittiğinde, ilk görüntünüzdeki herhangi bir nokta homojen koordinatlarda 'x '= Hx' uygulayarak ikinci görünüme eşlenir. –

cevap

6

Bu, düz çizgileri koruyan dörtgenler arasında eşleştirmeler bulmak için özel bir durumdur. Bunlar genellikle homografik dönüşümler olarak adlandırılır. Burada, dörtlülerden biri bir kare, bu yüzden popüler bir özel durum. Açıklamaları ve kodları bulmak için bu terimleri ("quad to quad", vb.) Google'a atabilirsiniz, ancak işte size göre.

Paul Heckbert tarafından Projective Warping & Mapping

ProjectiveMappings for ImageWarping

extracting a quadrilateral image to a rectangle

a gaming forum discussion

Perspective Transform Estimation

.

Matematik özellikle hoş değil, ama o kadar da zor değil. Yukarıdaki bağlantılardan bazı kodları da bulabilirsiniz.

+0

İlk bağlantı çok yardımcı oldu, teşekkürler. – Scott

İlgili konular