OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項

詳細描述

類  cv::cuda::DisparityBilateralFilter
 使用聯合雙邊濾波細化視差圖的類。 : 更多...
 
類  cv::cuda::StereoBeliefPropagation
 使用信念傳播演算法計算立體匹配的類。 : 更多...
 
類  cv::cuda::StereoBM
 使用塊匹配演算法計算立體匹配(視差圖)的類。 : 更多...
 
類  cv::cuda::StereoConstantSpaceBP
 使用常數空間信念傳播演算法計算立體匹配的類。 : 更多...
 
類  cv::cuda::StereoSGM
 該類實現了修改後的 H. Hirschmuller 演算法 [128]。限制和差異如下: 更多...
 

函式

Ptr< cuda::DisparityBilateralFiltercv::cuda::createDisparityBilateralFilter (int ndisp=64, int radius=3, int iters=1)
 建立 DisparityBilateralFilter 物件。
 
Ptr< cuda::StereoBeliefPropagationcv::cuda::createStereoBeliefPropagation (int ndisp=64, int iters=5, int levels=5, int msg_type=CV_32F)
 建立 StereoBeliefPropagation 物件。
 
Ptr< cuda::StereoBMcv::cuda::createStereoBM (int numDisparities=64, int blockSize=19)
 建立 StereoBM 物件。
 
Ptr< cuda::StereoConstantSpaceBPcv::cuda::createStereoConstantSpaceBP (int ndisp=128, int iters=8, int levels=4, int nr_plane=4, int msg_type=CV_32F)
 建立 StereoConstantSpaceBP 物件。
 
Ptr< cuda::StereoSGMcv::cuda::createStereoSGM (int minDisparity=0, int numDisparities=128, int P1=10, int P2=120, int uniquenessRatio=5, int mode=cv::cuda::StereoSGM::MODE_HH4)
 建立 StereoSGM 物件。
 
void cv::cuda::drawColorDisp (InputArray src_disp, OutputArray dst_disp, int ndisp, Stream &stream=Stream::Null())
 為視差影像著色。
 
void cv::cuda::reprojectImageTo3D (GpuMat disp, GpuMat &xyzw, Mat Q, int dst_cn=4, Stream &stream=Stream::Null())
 
void cv::cuda::reprojectImageTo3D (InputArray disp, OutputArray xyzw, InputArray Q, int dst_cn=4, Stream &stream=Stream::Null())
 將視差影像重新投影到3D空間。
 

函式文件

◆ createDisparityBilateralFilter()

Ptr< cuda::DisparityBilateralFilter > cv::cuda::createDisparityBilateralFilter ( int ndisp = 64,
int radius = 3,
int iters = 1 )

#include <opencv2/cudastereo.hpp>

建立 DisparityBilateralFilter 物件。

引數
ndisp視差數量。
radius濾波器半徑。
itersNumber of iterations.

◆ createStereoBeliefPropagation()

Ptr< cuda::StereoBeliefPropagation > cv::cuda::createStereoBeliefPropagation ( int ndisp = 64,
int iters = 5,
int levels = 5,
int msg_type = CV_32F )

#include <opencv2/cudastereo.hpp>

建立 StereoBeliefPropagation 物件。

引數
ndisp視差數量。
iters每個級別上的 BP 迭代次數。
levels級別數量。
msg_type訊息型別。支援 CV_16SC1 和 CV_32FC1 型別。

◆ createStereoBM()

Ptr< cuda::StereoBM > cv::cuda::createStereoBM ( int numDisparities = 64,
int blockSize = 19 )

#include <opencv2/cudastereo.hpp>

建立 StereoBM 物件。

引數
numDisparities視差搜尋範圍。對於每個畫素,演算法將從 0(預設最小視差)到 numDisparities 中找到最佳視差。搜尋範圍可以透過改變最小視差來調整。
blockSize演算法比較的塊的線性大小。大小應為奇數(因為塊以當前畫素為中心)。較大的塊大小意味著更平滑但精度較低的視差圖。較小的塊大小提供更詳細的視差圖,但演算法找到錯誤匹配的可能性更高。

◆ createStereoConstantSpaceBP()

Ptr< cuda::StereoConstantSpaceBP > cv::cuda::createStereoConstantSpaceBP ( int ndisp = 128,
int iters = 8,
int levels = 4,
int nr_plane = 4,
int msg_type = CV_32F )

#include <opencv2/cudastereo.hpp>

建立 StereoConstantSpaceBP 物件。

引數
ndisp視差數量。
iters每個級別上的 BP 迭代次數。
levels級別數量。
nr_plane第一層上的視差級別數量。
msg_type訊息型別。支援 CV_16SC1 和 CV_32FC1 型別。

◆ createStereoSGM()

Ptr< cuda::StereoSGM > cv::cuda::createStereoSGM ( int minDisparity = 0,
int numDisparities = 128,
int P1 = 10,
int P2 = 120,
int uniquenessRatio = 5,
int mode = cv::cuda::StereoSGM::MODE_HH4 )

#include <opencv2/cudastereo.hpp>

建立 StereoSGM 物件。

引數
minDisparity最小可能視差值。通常為零,但有時校正演算法會使影像發生偏移,因此需要相應地調整此引數。
numDisparities最大視差減去最小視差。值必須為 64、128 或 256。
P1控制視差平滑度的第一個引數。此引數用於傾斜表面(非正面平行)的情況。
P2控制視差平滑度的第二個引數。此引數用於“解決”深度不連續問題。
uniquenessRatio最佳(最小)計算成本函式值應“勝過”次佳值以被視為正確匹配的百分比裕量。通常,5-15 範圍內的值就足夠了。
mode將其設定為 StereoSGM::MODE_HH 以執行完整尺度的兩遍動態規劃演算法。它將消耗 O(W*H*numDisparities) 位元組。預設情況下,它設定為 StereoSGM::MODE_HH4

◆ drawColorDisp()

void cv::cuda::drawColorDisp ( InputArray src_disp,
OutputArray dst_disp,
int ndisp,
Stream & stream = Stream::Null() )

#include <opencv2/cudastereo.hpp>

為視差影像著色。

引數
src_disp輸入單通道 8 位無符號、16 位有符號、32 位有符號或 32 位浮點視差影像。如果使用 16 位有符號格式,則假定值沒有小數位。
dst_disp輸出視差影像。它與 src_disp 具有相同的大小。型別為 BGRA 格式的 CV_8UC4(alpha = 255)。
ndisp視差數量。
非同步版本的

此函式透過首先將視差值從 [0..ndisp) 區間轉換為 HSV 顏色空間(其中不同的視差值對應不同的色相),然後將畫素轉換為 RGB 以進行視覺化,從而繪製彩色視差圖。

◆ reprojectImageTo3D() [1/2]

void cv::cuda::reprojectImageTo3D ( GpuMat disp,
GpuMat & xyzw,
Mat Q,
int dst_cn = 4,
Stream & stream = Stream::Null() )
inline

#include <opencv2/cudastereo.hpp>

此函式的呼叫圖如下

◆ reprojectImageTo3D() [2/2]

void cv::cuda::reprojectImageTo3D ( InputArray disp,
OutputArray xyzw,
InputArray Q,
int dst_cn = 4,
Stream & stream = Stream::Null() )

#include <opencv2/cudastereo.hpp>

將視差影像重新投影到3D空間。

引數
disp輸入單通道 8 位無符號、16 位有符號、32 位有符號或 32 位浮點視差影像。如果使用 16 位有符號格式,則假定值沒有小數位。
xyzw大小與 disp 相同的 3 或 4 通道浮點影像。xyzw(x,y) 的每個元素包含根據視差圖計算出的點 (x,y) 的 3D 座標 (x,y,z) 或 (x,y,z,1)。
Q可透過 stereoRectify 獲得的 \(4 \times 4\) 透視變換矩陣。
dst_cn輸出影像的通道數。可以是 3 或 4。
非同步版本的
另請參見
reprojectImageTo3D