计算图像的景深
在?上一篇?博客中,景深與視差成反比,其公式為:
為焦距,?為左右相機的距離,分別為兩張圖像的點距離各自中心點的距離。
對于左圖像的每一個像素點 ?,求圖像景深可以分為以下幾步,
- 在右圖中,找到左圖像的像素點對應的極線
- 掃描極線,找到最匹配的點?
- 計算視差?, 并根據公式求取景深
?
1 平行圖像(parallel images)
由極線約束:
因為圖像平行,所以
?
如果兩張圖像不平行,把不平行的圖像投影到一個平面上,這個過程被稱為(?image rectification)。
其原理如下圖所示:
兩個投影,兩個圖像變換,每個為3*3的變換矩陣。
?
2 滑動窗口
如果在左圖中找到一個點,并且找到右圖中對應的極線。
選定一個窗口,沿著極線滑動,與左圖窗口比較,計算matching cost, 確定相似度(比如SSD)
窗口越小,細節越多,同時噪音也越多。
Matching windows 有很多種,列舉如下:
有些圖像對無法求得景深:
- 兩張一樣的圖像
- Nor-Lambertian 表面
- Textureless surfaces
?
3 其它的立體約束(stereo constraints)
- 唯一性(uniqueness):一張圖像中的任意一點,在另一張圖像中至多只存在一個對應點。
- 順序性(ordering): 從兩張圖像的視角,對應點的順序是一樣的,如下圖。
- 平滑性(smoothness): 視差值變化慢
4 如何評判好的立體匹配
- 匹配質量(match quality)要好
- 平滑(smoothness)
一張圖像中兩個鄰近的點,在另外一張圖中距離一般不會出現巨變。
?
5 立體重建管道(Stereo reconstruction pipeline)
- 校準相機(calibrate cameras):求得內參矩陣和外參矩陣
- 糾正圖像(Rectify images)
- 計算視差(Compute disparity)
- 計算景深(depth)
總結
- 上一篇: 统计学第一章--最小二乘拟合正弦函数,正
- 下一篇: Python中矩阵库Numpy基本操作