2017-05-25 58 views
1

假設我們有兩個整流照片與立體攝像機已知的像素位置,我們要畫視差映射如何解釋差異值

這將是最接近的像素,如果在右邊的照片的像素都被感動方向?我知道,如果我們做的最遠點是具有最小值的點q.x -p.x(p是左圖中的像素),那麼距離它的最大值是否最接近?

謝謝

回答

1

視差圖通常被寫有其指示符號值的方向從一個圖像中的立體像對的像素移動到另一個。例如,如果在位置< 100,250>的左側視圖中有一個像素,並且在右側視圖中對應的像素位於位置< 115,250>那麼在位置< 100,250>處的左側視圖的視差圖將具有值15。在位置< 115,250>處的右視圖的視差圖將具有-15的值。

視差圖可以是多通道圖像,通常是第一個通道中的x偏移和第二個通道中的y偏移。如果您正在查看具有許多不一致性的高分辨率立體聲對,則可能無法將所有可能的差異值放入8位圖像中。在電影業中,大多數視差圖都以16或32位浮點圖像的形式存儲。

沒有標準差異的標準方法,並且由於差異意味着描述「物理/具體/不可變/等」屬性,所以通常不被稱讚。但是,有時候這是必要的。例如,如果要在8位圖像中記錄大型立體聲對的差異,則必須將這些值縮放以適合8位容器。你可以用許多不同的方式來做到這一點。

縮放視差圖的一種方法是取最大的絕對視差值,並將所有值除以一個因子,將該值減少到您簽名的8位世界(128)中的最大值。這種方法很容易通過一個簡單的乘法器縮放回原始的視差範圍,但顯然由於分割創建的降低步驟會導致細節的減少。例如,如果我有一個視差範圍爲50到-200的圖像,這意味着我有250個可能的視差值。我可以將所有值除以200/128 = 1.5625。這給了我32到-128或160個可能差異值的範圍。當我使用乘法將這些值進行縮放時,我再次得到50到-200,但現在在該範圍內只有160個可能的差異值。

使用上述視差範圍的另一種方法是簡單地移動範圍。總的範圍是250,我們的帶符號的8位容器可以容納256個值,所以我們從所有值中減去250-128 = 72,這給我們提供了從122到-128的新範圍。這使得我們可以保留所有的差異步驟,並通過將我們的移位因子添加回圖像中而獲得確切的輸入圖像。

相反,如果您有一個範圍爲-5到10的視差圖,則可能需要擴大該範圍以包含子像素視差值。因此,您可以將10縮放到128,將-5縮小到-64。這給出了更廣泛的值,但可能值的總數將根據輸入視差範圍而逐幀改變。

縮放方法的問題是它們可能是有損的,每個保存的圖像都會有一個需要反轉的縮放因子/方法。如果每個圖像都有單獨的比例因子,那麼該因子必須與圖像一起存儲。如果每幅圖像具有相同的比例因子,那麼由於可能值的減少,將會有更大的數據退化。這就是爲什麼在較高比特深度存儲視差圖以確保數據完整性的普遍良好做法。

+0

謝謝你的明確答案,但在這種情況下,例如左視差圖的值爲15(讓我們假設這是最大可能值),因此15代表相機最遠的標籤? – Raziel

+0

視差貼圖通常不處理最小和最大視差值。他們只報告每個像素的差異。縮放視差圖以填充一些數值沒有標準。我會在縮放到我的答案上添加細節。 – BHawk