2013-04-04 110 views
0

我有一個項目,我必須使用OpneCV來獲取相機矩陣,我運行OpenCV示例項目,我的問題是可以檢查保存數據是否正確?因爲我的第一個例子中她的EIS我得到什麼:使用OpenCV的攝像機校準

<Camera_Matrix type_id="opencv-matrix"> 
<rows>3</rows> 
<cols>3</cols> 

d
4.0608614269653586e + 001 0 3.1950000000000000e + 0.002 4.0608614269653586e + 001 + 2.3950000000000000e 0.002 0.1。

回答

0

你的矩陣看起來不錯,3x3矩陣。

當你說保存數據,你想錄制一個視頻?

但是我將你引用到openCV的Q &。

http://answers.opencv.org/questions/

詢問關於這個論壇您的問題。

1

如果您有興趣檢查數據是否保存正確,請閱讀您的矩陣。這可以通過FileStorage類openCV完成。以下是write的示例,您可以在同一頁面上找到閱讀功能。

如果您想知道您的矩陣是否有意義,請首先使用完整性檢查。一個最簡單的相機矩陣由以下條目組成:

[fx,0,cx; 0,fy,cy; 0,0,1]

其中fx = fy如果像素是正方形並且cx = w/2並且cy = h/2近似。看起來您的矩陣可能是正確的,因爲您使用的是640x480圖像,焦距約爲40像素。然而,後者看起來很可疑:攝像頭的視場(FOV)可以通過以下公式計算:tan2(FOV/2)= w * 0.5/f = 320/40 = 80,從中可以看出FOV = 180度; 只有使用非常廣角的角度(所謂的魚眼)纔會發生這種情況。如果不是這種情況,請檢查您的校準程序。你使用了什麼代碼?