OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::cuda::StereoConstantSpaceBP 類參考abstract

使用恆定空間信念傳播演算法計算立體對應的類。: 更多...

#include <opencv2/cudastereo.hpp>

cv::cuda::StereoConstantSpaceBP 的協作圖

公共成員函式

virtual int getNrPlane () const =0
 第一級活動視差的數量
 
virtual bool getUseLocalInitDataCost () const =0
 
virtual void setNrPlane (int nr_plane)=0
 
virtual void setUseLocalInitDataCost (bool use_local_init_data_cost)=0
 
- 從 cv::cuda::StereoBeliefPropagation 繼承的公共成員函式
virtual void compute (InputArray data, OutputArray disparity, Stream &stream=Stream::Null())=0
 啟用立體匹配運算元,用於查詢指定資料代價的視差。
 
virtual void compute (InputArray left, InputArray right, OutputArray disparity, Stream &stream)=0
 
virtual double getDataWeight () const =0
 資料權重
 
virtual double getDiscSingleJump () const =0
 不連續單跳
 
virtual double getMaxDataTerm () const =0
 資料代價截斷
 
virtual double getMaxDiscTerm () const =0
 不連續代價截斷
 
virtual int getMsgType () const =0
 訊息型別 (CV_16SC1 或 CV_32FC1)
 
virtual int getNumIters () const =0
 每個級別的BP迭代次數
 
virtual int getNumLevels () const =0
 級別數
 
virtual void setDataWeight (double data_weight)=0
 
virtual void setDiscSingleJump (double disc_single_jump)=0
 
virtual void setMaxDataTerm (double max_data_term)=0
 
virtual void setMaxDiscTerm (double max_disc_term)=0
 
virtual void setMsgType (int msg_type)=0
 
virtual void setNumIters (int iters)=0
 
virtual void setNumLevels (int levels)=0
 
- 從 cv::StereoMatcher 繼承的公共成員函式
virtual void compute (InputArray left, InputArray right, OutputArray disparity)=0
 為指定的立體對計算視差圖。
 
virtual int getBlockSize () const =0
 
virtual int getDisp12MaxDiff () const =0
 
virtual int getMinDisparity () const =0
 
virtual int getNumDisparities () const =0
 
virtual int getSpeckleRange () const =0
 
virtual int getSpeckleWindowSize () const =0
 
virtual void setBlockSize (int blockSize)=0
 
virtual void setDisp12MaxDiff (int disp12MaxDiff)=0
 
virtual void setMinDisparity (int minDisparity)=0
 
virtual void setNumDisparities (int numDisparities)=0
 
virtual void setSpeckleRange (int speckleRange)=0
 
virtual void setSpeckleWindowSize (int speckleWindowSize)=0
 
- 從 cv::Algorithm 繼承的公共成員函式
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除演算法狀態。
 
virtual bool empty () const
 如果 Algorithm 為空(例如,在開始時或讀取不成功後),則返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 從檔案儲存中讀取演算法引數。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 將演算法引數儲存到檔案儲存中。
 
void write (FileStorage &fs, const String &name) const
 

靜態公共成員函式

static void estimateRecommendedParams (int width, int height, int &ndisp, int &iters, int &levels, int &nr_plane)
 使用啟發式方法計算指定影像尺寸(width和height)的引數(ndisp、iters、levels和nrplane)。
 
- 從 cv::cuda::StereoBeliefPropagation 繼承的靜態公共成員函式
static void estimateRecommendedParams (int width, int height, int &ndisp, int &iters, int &levels)
 使用啟發式方法計算指定影像尺寸(width和height)的推薦引數(ndisp、iters和levels)。
 
- 從 cv::Algorithm 繼承的靜態公共成員函式
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 從檔案中載入演算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 從字串載入演算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 從檔案節點讀取演算法。
 

附加繼承成員

- 從 cv::StereoMatcher 繼承的公共型別
列舉  {
  DISP_SHIFT = 4 ,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 
- 從 cv::Algorithm 繼承的保護成員函式
void writeFormat (FileStorage &fs) const
 

詳細描述

使用恆定空間信念傳播演算法計算立體對應的類。

該類實現了 [311] 中描述的演算法。 StereoConstantSpaceBP 支援區域性最小和全域性最小資料代價初始化演算法。更多細節,請參閱上面提到的論文。預設情況下,使用區域性演算法。要啟用全域性演算法,請將 use_local_init_data_cost 設定為 false。

StereoConstantSpaceBP 對資料代價和不連續項使用截斷線性模型

\[DataCost = data \_ weight \cdot \min ( \lvert I_2-I_1 \rvert , max \_ data \_ term)\]

\[DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)\]

更多細節,請參閱 [311]

預設情況下, StereoConstantSpaceBP 使用浮點算術和 CV_32FC1 型別作為訊息。但它也可以使用定點算術和 CV_16SC1 訊息型別以獲得更好的效能。為了避免在這種情況下溢位,引數必須滿足以下要求

\[10 \cdot 2^{levels-1} \cdot max \_ data \_ term < SHRT \_ MAX\]

成員函式文件

◆ estimateRecommendedParams()

static void cv::cuda::StereoConstantSpaceBP::estimateRecommendedParams ( int width,
int height,
int & ndisp,
int & iters,
int & levels,
int & nr_plane )
static

使用啟發式方法計算指定影像尺寸(width和height)的引數(ndisp、iters、levels和nrplane)。

◆ getNrPlane()

virtual int cv::cuda::StereoConstantSpaceBP::getNrPlane ( ) const
純虛擬函式

第一級活動視差的數量

◆ getUseLocalInitDataCost()

virtual bool cv::cuda::StereoConstantSpaceBP::getUseLocalInitDataCost ( ) const
純虛擬函式

◆ setNrPlane()

virtual void cv::cuda::StereoConstantSpaceBP::setNrPlane ( int nr_plane)
純虛擬函式

◆ setUseLocalInitDataCost()

virtual void cv::cuda::StereoConstantSpaceBP::setUseLocalInitDataCost ( bool use_local_init_data_cost)
純虛擬函式

此類的文件是從以下檔案生成的