欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV立體圖像深度圖Depth Map基礎(chǔ)

 更新時(shí)間:2023年05月05日 09:46:34   作者:uncle_ll  
這篇文章主要為大家介紹了OpenCV立體圖像深度圖Depth Map基礎(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

目標(biāo)

在本節(jié)中,將學(xué)習(xí)

  • 根據(jù)立體圖像創(chuàng)建深度圖

基礎(chǔ)

在上一節(jié)中,看到了對極約束和其他相關(guān)術(shù)語等基本概念。如果有兩個(gè)場景相同的圖像,則可以通過直觀的方式從中獲取深度信息。下面是一張圖片和一些簡單的數(shù)學(xué)公式證明了這種想法。

上圖包含等效三角形。編寫它們的等式將產(chǎn)生以下結(jié)果:

xxx和x′x'x′是圖像平面中與場景點(diǎn)3D相對應(yīng)的點(diǎn)與其相機(jī)中心之間的距離。BBB是兩個(gè)攝像機(jī)之間的距離(已知),fff是攝像機(jī)的焦距(已知)。簡而言之,上述方程式表示場景中某個(gè)點(diǎn)的深度與相應(yīng)圖像點(diǎn)及其相機(jī)中心的距離差成反比。因此,利用此信息,可以得出圖像中所有像素的深度。

因此,可以在兩個(gè)圖像之間先找到對應(yīng)的匹配項(xiàng)。一旦找到匹配項(xiàng),就能獲得深度(disparity)。

代碼

下面的代碼片段顯示創(chuàng)建視差圖的簡單過程。

import cv2
import numpy as np
from matplotlib import pyplot as plt
imgL = cv2.imread('tsukuba_l.png', 0)
imgR = cv2.imread('tsukuba_r.png', 0)
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL, imgR)
plt.subplot(131)
plt.imshow(imgL, 'gray')
plt.title('imgL')
plt.xticks([])
plt.yticks([])
plt.subplot(132)
plt.imshow(imgR, 'gray')
plt.title('imgR')
plt.xticks([])
plt.yticks([])
plt.subplot(133)
plt.imshow(disparity, 'gray')
plt.title('disparity')
plt.xticks([])
plt.yticks([])
plt.show()

下面的圖像包含原始圖像(左)及其視差圖(右)。如圖所見,結(jié)果受到高度噪聲的污染。通過

調(diào)整numDisparitiesblockSize的值,可以獲得更好的結(jié)果。

當(dāng)熟悉StereoBM后,可以微調(diào)一些參數(shù)以獲得更好、更平滑的結(jié)果。部分參數(shù)如下所示:

texture_threshold:過濾出沒有足夠紋理的區(qū)域以獲得可靠匹配的區(qū)域

Speckle range 和 size:基于塊的匹配器通常會在對象邊界附近產(chǎn)生“斑點(diǎn)”,其中匹配窗口捕獲一側(cè)的前景和在另一場景中的背景,在此場景中,匹配器還在桌子上找到的小片虛假匹配。要擺脫這些問題,可以使用speckle_sizespeckle_range參數(shù)來控制后處理的深度圖像。speckle_size是視差斑點(diǎn)下的像素?cái)?shù),speckle_range控制必須被視為相同斑點(diǎn)的一部分最近距離

Number of disparities:滑動(dòng)窗口的像素?cái)?shù)。越大表明可見深度的范圍就越大,但是需要更多的計(jì)算代價(jià),最大視差值與最小視差值之差, 窗口大小必須是16的整數(shù)倍,int 型

min_disparity:從開始搜索的左像素的x位置開始的偏移量

uniqueness_ratio:另一個(gè)后過濾步驟。如果最佳匹配視差不足夠好于搜索范圍中的所有其他視差,則將像素濾出。如果texture_threshold和斑點(diǎn)過濾仍在通過虛假匹配,則可以嘗試進(jìn)行調(diào)整

prefilter_size和prefilter_cap:預(yù)過濾階段,可標(biāo)準(zhǔn)化圖像亮度并增強(qiáng)紋理,以準(zhǔn)備塊匹配。通常,不需要調(diào)整這些參數(shù)

附加資源

docs.opencv.org/4.x/dd/d53/…

Ros stereo img processing wiki page

StereoBM

以上就是OpenCV立體圖像深度圖Depth Map基礎(chǔ)的詳細(xì)內(nèi)容,更多關(guān)于OpenCV立體圖像深度圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論