2012-06-14 22 views
7

Opencv'i öğrenmeye çalışıyorum. Homografi ve epipolar geometri ile ilgili bir sorum var.2 farklı kamera tarafından çekilen aynı sahnenin 2 farklı görüntüsünden hesaplanan Homografi matrisini yeniden kullanabilir miyim?

İki farklı görüntü noktasından iki kamerayla çekilen iki statik görüntü eşleştirilen özellik noktasını kullanarak cvFindHomography() işlevini kullanarak homografiyi hesapladığımı varsayalım. Ben x' = H.x nerede x' sol görüntüler 2d homojen özellik noktası olduğunu biliyorum çünkü ben ((solda) CAMERA2 tarafından alınan görüntüden kamera 1 (sağda) karşılık gelen noktaları tespit etmek için eşyazımı matris kullanmanızda bir

o x bir hata mı homografi matrisinin 2d puanları ve homografi matrisini hesaplamak için kullanılmadığı 2x homografik özellik noktası ve H homografi matrisidir.

Sormak istediğim, iki kameradaki homografi matrisini, homografi matrisini hesaplamak için kullanılmayan herhangi bir görüntü için karşılık gelen noktaları bulmak üzere yeniden kullanabilir miyim?

Sabit görüntülerle bir kez belirlendiğinde hangi resmin kullandığımı fark eder mi? ya da her seferinde hesaplamak zorunda mıyım?

cevap

8

Kameralar artık hareket etmediği ve sahne değişmediği sürece homografiyi bir görüntüden diğerine yansıtmak için kullanabilirsiniz.

Bu kameraların (kalibre edilmiş) fotoğraflarını çektiğini anladım ve sonra bu iki resim ile her zaman çalışıyorsunuz. Tamam, eğer homografiyi hesaplarsanız, o zaman her iki görüntüden istediğiniz tüm noktaları yansıtabilirsiniz. Elbette bazı hatalar elde edeceksiniz, ancak bu, görüntülerde ve doğrusal olmayan yöntemlerde gürültüden dolayı, bulhomografi tarafından kullanılan doğrusal yönteme bağlı.

Fotoğraf makinelerinde fotoğraf çekmeye devam ederseniz, homografiyi her yeni resim çifti için tekrar hesaplamanız gerekir; çünkü no'lu bir biyografiyi görerek sahnenin nasıl değişeceğini bilmiyorsunuz.

+0

Cevabınız için çok teşekkürler. – mvr950

İlgili konular