社群計算機視覺課程文件
相機模型
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
相機模型
針孔相機

最簡單的相機——也許是你自己做過的相機——由一個不透光的盒子組成,其中一面有一個小孔,另一面是一個螢幕或相片膠片。穿過小孔的光線在盒子的後壁上生成一個倒像。這種簡單的相機模型常用於 3D 圖形應用程式。
相機座標軸約定
相機座標軸的方向有多種約定。在這裡,我們將遵循 Blender 的約定(參見圖示),即相機沿負 Z 軸方向,相機 X 軸指向左側(從相機視角看),相機 Y 軸指向上方。
針孔相機座標變換
3D 空間中的每個點都對映到 2D 平面上的一個點。為了找到 3D 和 2D 座標之間的對映,我們首先需要知道相機的內參,對於針孔相機而言,這些內參是
- 焦距,和.
- 主點座標,和即影像的光學中心。該點是光軸與影像平面的交點。
使用這些內參,我們構建相機矩陣
為了將它應用於 3D 空間中的一個點,我們將該點乘以相機矩陣得到一個新的 3x1 向量。這是一個 2D 齊次向量,但其最後一個分量不為 1。為了找到該點在影像平面中的位置,我們必須將前兩個座標除以最後一個座標,以得到點.
雖然這是相機矩陣的教科書定義,但如果我們使用 Blender 相機約定,它將左右和上下翻轉影像(因為相機前方的點將具有負 Z 值)。一種可能的解決方法是更改相機矩陣中某些元素的符號
相機變換矩陣
通常,相機不只在原點,我們必須將點從世界座標轉換為相對於相機的座標。為此,我們首先將世界到相機矩陣應用於這些點,然後應用相機矩陣。
更復雜的相機模型
可以建立更復雜的相機模型,模擬真實鏡頭產生的畸變。有關此類模型的討論,請參閱計算機視覺中的多檢視幾何。
< > 在 GitHub 上更新