OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
正在載入...
正在搜尋...
未找到匹配項

詳細說明

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

函式

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 空間。
 

函式文件 (Function Documentation)

◆ createDisparityBilateralFilter()

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

#include <opencv2/cudastereo.hpp>

建立 DisparityBilateralFilter 物件。

引數
ndisp視差的數量。
radius濾波器半徑。
iters迭代次數。

◆ 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最小可能的視差值。通常為0,但有時校正演算法會移動影像,因此需要相應地調整此引數。
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視差的數量。
Stream 用於非同步版本。

此函式透過首先將視差值從[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() )
內聯

#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。
Stream 用於非同步版本。
另請參閱
reprojectImageTo3D