2010-11-22 32 views
1

this araç kutusu ile Fotoğraf makinemin kalibrasyonunu yapıyordum.Fotoğraf Makinesi Kalibrasyonu Matrisi nasıl yapılır?

Ancak, araç kutusu çıktıları matris biçiminde sonuçlanır ve bir noob olması nedeniyle mathy öğelerini anlamıyorum.

Matris aşağıdaki formdadır. R, bir rotasyon matrisidir

alt text

, T için vektörüdür.

Ve bunlar, araç kutusundan aldığım sonuçlardır. Değerleri piksel olarak verir.

-0.980755 -0.136184 -0.139905 217.653207 
0.148552 -0.055504 -0.987346 995.948880 
0.126695 -0.989128 0.074666 371.963957 
0.000000 0.000000 0.000000 1.000000 

Bu verileri kullanarak kameramın ne kadar döndürüldüğünü ve kalibrasyon nesnesinden ne kadar uzak olduğunu anlayabilir miyim?

cevap

3

Mesafe parçası kolaydır. Başlangıçtaki çeviri en sağdaki sütundaki ilk üç sayı ile verilir. Bu, sırasıyla x, y ve z yönlerindeki çeviriyi temsil eder. Örneğinizde, kameranın konumu p = (p <, , p <, p ,) = (217.653207, 995.948880, 371.963957). Fotoğraf makinesinin konumu ile kalibrasyon nesnesinin yeri arasındaki Öklid mesafesini alabilirsiniz (c x, c y, c z). Bu, ((s x -c x) + (s, sadece sqrt olacak olan y -c y) + (s z -c z))

Daha zor olan kısım, matrisin sol üst 3x3 öğelerinde yakalanan dönüş ile ilgilidir. Buna tam olarak nasıl geldiğini bilmeden, biraz şanssızsın. Yani, istediğin buysa, Euler Angles'a dönüş yapmak kolay değildir. Ancak, bu elemanları Quaternion Rotation'a dönüştürebilirsiniz; bu, kamerayı bu yöne döndürmek için benzersiz birim vektörünü ve açısını size verecektir. Hesaplamanın özellikleri here verilir. Quaternion rotasyonuna sahip olduğunuzda, normal (yön) n = (0, 0, 1), yukarı = (0, 1, 0) ve sağ = (1, 0, 0) vektörlerini kolayca uygulayabilirsiniz. kamera işaret edilir), yukarı ve sağ vektörler. Doğru vektör yalnızca kamerayı mevcut konumdan sola veya sağa çevirmekle ilgileniyorsanız yararlıdır.

+0

Kök olarak kabul edilen nokta, kamera merceği veya kalibrasyon kağıt sayfası merkezidir? Tercüme, şimdi anlıyorum ama hala bilmiyorum Nasıl cx, cy ve cz veya kameradan kalibrasyon nesnesine olan uzaklığı nasıl alabilirim? –

+0

Yazılım, kalibrasyon nesnesinin kaynağında olmasını düşünebilir. Bu durumda cx = cy = cz = 0. Durum böyle değilse, araç kutusu belgelerine başvurmanız gerekecektir. – andand

+1

Başvuruda bulunduğunuz web sitesinden biraz daha incelikli göründüğünüzde, dokümantasyon biraz seyrek görünüyor. Yani, birkaç başka seçeneğiniz var.Birincisi, sağlanan kaynak koddan anlamaya çalışmaktır; diğeri yazarlarla iletişim kurmaya ve size hangi bilgileri sağlayabileceklerini görmeye çalışır. – andand

1

Kodun 'standard' formasyonunu kullandığını tahmin ediyorum - o zaman daha fazla bilgiyi opencv library docs veya kitabında bulabilirsiniz.

+0

"Standart" oluşum nedir? –

+0

Bu bağlamda, Dr. Jean-Yves Bouguet, http://www.amazon.com/Multiple-View-Geometry-Computer-Vision/dp/0521540518/ref=wl_it_dp_o?ie=UTF8&coliid=I2HGS590RAY8I9&colid=37VYKHXCSPCID –

İlgili konular