urdf中相機內參

2021-10-13 19:13:41 字數 1817 閱讀 4727

"multicamera" name=

"stereo_camera"

>

30.0

<

/update_rate>

"left"

>

1.3962634

<

/horizontal_fov>

800<

/width>

800<

/height>

r8g8b8<

/format>

<

/image>

0.02

<

/near>

300<

/far>

<

/clip>

gaussian<

/type>

0.0<

/mean>

0.007

<

/stddev>

<

/noise>

<

/camera>

"right"

>

0-0.0700

00<

/pose>

1.3962634

<

/horizontal_fov>

800<

/width>

800<

/height>

r8g8b8<

/format>

<

/image>

0.02

<

/near>

300<

/far>

<

/clip>

gaussian<

/type>

0.0<

/mean>

0.007

<

/stddev>

<

/noise>

<

/camera>

以上是兩個感測器,我們可以看到是兩個相同的感測器,其定義的屬性從標籤上就能看出來,這裡重點是三個標籤,clip中定義了相機能看到的最遠和最近位置(現實中因為你焦點的原因,相機看物體模糊但也不至於看不到,所以搞不太懂這個標籤的物理意義)。nosie是畫素上的雜訊,結合實際相機,很容易理解。最後重點說一下pose我們發現left相機是沒有pose標籤的,預設為0 0 0 0 -0 0,而right相機有個-0.07,負號說明其在右邊,0.07就是指的基線的距離。(在這裡這個pose還不知道具體是什麼,是相機座標系的原點,還是影象座標系的遠點,在深度上相差乙個焦距的距離。

這個是我們進行立體計算時需要用到的。這時我們發現對於乙個鏡頭來說還需要乙個很重要的引數,那就是焦距。但這裡並沒有給出,實際上我們可以根據水平視場horizontal_fov來計算出來的,參考以下兩個介紹:

即可以通過以下公式得到焦距:

flength = (width/2)/tan(hfov/2)

0.07

<

/hackbaseline>

0.0<

/distortionk1>

0.0<

/distortionk2>

0.0<

/distortionk3>

0.0<

/distortiont1>

0.0<

/distortiont2>

以上是感測器外掛程式,我們發現和單目相機的外掛程式很像,主要說下最後幾個引數,如果做過單目相機矯正就很容易理解(k1 k2 t1 t2 k3)是相機的畸變係數,這裡使其為0,即認為相機沒有畸變,理想化了。

以上全是相機內參,雙目相機還有外參還不太會……

相機內參外參

參考資料 說內參矩陣之前,還得再引入畫素座標系的概念。上述影象點的表示是長度單位,不是畫素,由於我們拿到的影象是以畫素來衡量的,因此還需要將影象座標系轉化為畫素座標系。在此直接給出結論 於是之前的相機矩陣又得新增一項 上述推導中有乙個假設前提,就是相機的感光元件是正方形的,感光元件的安裝也是通過光軸...

相機內參與畸變模型

相機內參包括相機矩陣引數和畸變係數。相機內參矩陣為3 3的矩陣 m fx 0 ppx 0 fy ppy 0 0 1 畸變係數 k1 k2 k3 p1 p2 使用matlab可以很方便地進行相機內參標定 首先看一下無畸變情況下,已知相機座標系內的乙個點 xc,yc,zc 通過內參矩陣求出該點在影象平面...

相機的內參會改變嗎 相機內參和畸變引數進行校正程式

include using namespace std using namespace cv int test int argc,char ar videocapture capture 0 while 1 mat frame capture frame size image size image ...