OpenCV 4.11.0
开源计算机视觉
|
使用恒定空间信念传播算法计算立体匹配的类。: 更多...
#include <opencv2/cudastereo.hpp>
公共成员函数 | |
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 的静态公共成员函数 | |
模板<typename _Tp > | |
静态 Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
从文件中加载算法。 | |
模板<typename _Tp > | |
静态 Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
从字符串加载算法。 | |
模板<typename _Tp > | |
静态 Ptr< _Tp > | read (const FileNode &fn) |
从文件节点读取算法。 | |
其他继承成员 | |
继承自 cv::StereoMatcher 的公共类型 | |
枚举 | { DISP_SHIFT = 4 , DISP_SCALE = (1 << DISP_SHIFT) } |
继承自 cv::Algorithm 的受保护成员函数 | |
void | writeFormat (FileStorage &fs) const |
使用恒定空间置信传播算法计算立体匹配的类。
该类实现了[309]中描述的算法。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)\]
更多详情,请参见[309]。
默认情况下,StereoConstantSpaceBP 使用浮点运算和 CV_32FC1 类型消息。但它也可以使用定点运算和 CV_16SC1 消息类型以获得更好的性能。在这种情况下,为避免溢出,参数必须满足以下要求
\[10 \cdot 2^{levels-1} \cdot max \_ data \_ term < SHRT \_ MAX\]
|
静态 |
使用启发式方法为指定的图像大小 (width 和 height) 计算参数 (ndisp、iters、levels 和 nrplane)。
|
纯虚函数 |
第一级上的有效视差数量
|
纯虚函数 |
|
纯虚函数 |
|
纯虚函数 |