OpenCV 4.10.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
 启用立体匹配运算符,该运算符为指定的 data cost 找到视差。
 
virtual void compute (InputArray left, InputArray right, OutputArray disparity, Stream &stream)=0
 
virtual double getDataWeight () const =0
 data weight
 
virtual double getDiscSingleJump () const =0
 不连续单跳
 
virtual double getMaxDataTerm () const =0
 data cost 的截断
 
virtual double getMaxDiscTerm () const =0
 不连续 cost 的截断
 
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 继承的公共类型
enum  {
  DISP_SHIFT = 4 ,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 
- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细说明

使用恒定空间信念传播算法计算立体匹配的类。

该类实现了 [308] 中描述的算法。 StereoConstantSpaceBP 支持局部最小值和全局最小值数据 cost 初始化算法。有关更多详细信息,请参阅上面提到的论文。默认情况下,使用局部算法。要启用全局算法,请将 use_local_init_data_cost 设置为 false。

StereoConstantSpaceBP 使用截断线性模型表示 data cost 和不连续项

\[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)\]

有关更多详细信息,请参阅 [308]

默认情况下,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)
纯虚

该类的文档是从以下文件生成的