OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::stereo::QuasiDenseStereo 类参考抽象

包含进行准密集立体计算所需方法的类。 更多…

#include <opencv2/stereo/quasi_dense_stereo.hpp>

cv::stereo::QuasiDenseStereo 的协作图

公共成员函数

virtual ~QuasiDenseStereo ()=0
 析构函数,用于释放此类中矩阵和向量分配的所有内存。
 
virtual void getDenseMatches (std::vector< MatchQuasiDense > &denseMatches)=0
 获取密集对应点。
 
virtual cv::Mat getDisparity ()=0
 根据在“process”方法中找到的对应关系计算并返回视差图。
 
virtual cv::Point2f getMatch (const int x, const int y)=0
 指定左图像中的像素坐标,并获取其在右图像中的对应位置。
 
virtual void getSparseMatches (std::vector< MatchQuasiDense > &sMatches)=0
 获取稀疏对应点。
 
virtual int loadParameters (cv::String filepath)=0
 加载包含类配置参数的文件。
 
virtual void process (const cv::Mat &imgLeft, const cv::Mat &imgRight)=0
 算法的主要过程。此方法计算稀疏种子,然后对其进行稠密化。
 
virtual int saveParameters (cv::String filepath)=0
 保存一个文件,其中包含类当前设置的所有配置参数。
 

静态公共成员函数

static cv::Ptr< QuasiDenseStereocreate (cv::Size monoImgSize, cv::String paramFilepath=cv::String())
 

公共属性

PropagationParameters Param
 

详细描述

包含进行准密集立体计算所需方法的类。

此模块包含执行准密集立体匹配的代码。该方法最初从基于立体图像对上的特征匹配的稀疏 3D 重建开始,随后将结构传播到相邻的图像区域。为了获得初始种子对应关系,该算法在立体图像对的左图像中定位 Shi 和 Tomashi 特征,然后使用金字塔 Lucas-Kanade 在右图像中跟踪它们。为了使稀疏对应关系稠密化,该算法计算每个种子对周围小块中的零均值归一化互相关 (ZNCC),并将其用作每个匹配的质量度量。在此代码中,我们引入了一个自定义结构来存储称为“Match”的对应关系的位置和 ZNCC 值。种子匹配存储在根据其 ZNCC 值排序的优先级队列中,允许轻松获得最佳质量匹配。该算法弹出匹配项并使用它们来提取它们周围的新匹配项。这是通过考虑每个种子的一个小邻域并检索高于某个纹理阈值且未先前计算的对应关系来完成的。新的匹配项存储在种子优先级队列中并用作种子。当无法检索到其他匹配项时,传播过程结束。

另请参阅
此代码代表在 [253] 中介绍的工作。如果此代码对您的工作有用,请引用 [253]

原始的增长方案思想也描述在 [159]

构造函数和析构函数文档

◆ ~QuasiDenseStereo()

virtual cv::stereo::QuasiDenseStereo::~QuasiDenseStereo ( )
纯虚函数

析构函数,用于释放此类中矩阵和向量分配的所有内存。

成员函数文档

◆ create()

static cv::Ptr< QuasiDenseStereo > cv::stereo::QuasiDenseStereo::create ( cv::Size monoImgSize,
cv::String paramFilepath = cv::String() )
静态
Python
cv.stereo.QuasiDenseStereo.create(monoImgSize[, paramFilepath]) -> retval
cv.stereo.QuasiDenseStereo_create(monoImgSize[, paramFilepath]) -> retval

◆ getDenseMatches()

virtual void cv::stereo::QuasiDenseStereo::getDenseMatches ( std::vector< MatchQuasiDense > & denseMatches)
纯虚函数
Python
cv.stereo.QuasiDenseStereo.getDenseMatches() -> denseMatches

获取密集对应点。

参数
[out]denseMatches包含所有密集匹配的向量。
注意
此方法清除 denseMatches 向量。
sMatches 向量中返回的 Match 元素不使用 corr 成员。

◆ getDisparity()

virtual cv::Mat cv::stereo::QuasiDenseStereo::getDisparity ( )
纯虚函数
Python
cv.stereo.QuasiDenseStereo.getDisparity() -> retval

根据在“process”方法中找到的对应关系计算并返回视差图。

注意
默认级别为 50
返回值
包含灰度视差图像的 cv::Mat
另请参阅
computeDisparity
quantizeDisparity

◆ getMatch()

virtual cv::Point2f cv::stereo::QuasiDenseStereo::getMatch ( const int x,
const int y )
纯虚函数
Python
cv.stereo.QuasiDenseStereo.getMatch(x, y) -> retval

指定左图像中的像素坐标,并获取其在右图像中的对应位置。

参数
[in]x左图像通道中的 x 像素坐标。
[in]y左图像通道中的 y 像素坐标。
返回值
cv::Point(x,y)右图像中对应像素的位置。
cv::Point(0,0)(NO_MATCH) 如果在左图像中指定的像素位置在右图像中找不到匹配项。
注意
此方法应始终在 process 之后调用,否则匹配将不正确。

◆ getSparseMatches()

virtual void cv::stereo::QuasiDenseStereo::getSparseMatches ( std::vector< MatchQuasiDense > & sMatches)
纯虚函数
Python
cv.stereo.QuasiDenseStereo.getSparseMatches() -> sMatches

获取稀疏对应点。

参数
[out]sMatches包含所有稀疏对应关系的向量。
注意
此方法清除 sMatches 向量。
sMatches 向量中返回的 Match 元素不使用 corr 成员。

◆ loadParameters()

virtual int cv::stereo::QuasiDenseStereo::loadParameters ( cv::String filepath)
纯虚函数
Python
cv.stereo.QuasiDenseStereo.loadParameters(filepath) -> retval

加载包含类配置参数的文件。

参数
[in]filepath包含配置参数的 .YAML 文件的位置。
注意
默认值为一个空字符串,在这种情况下将加载默认参数。
返回值
1如果路径不为空并且程序成功加载了参数。
0如果路径为空且程序加载了默认参数。
-1如果文件位置无效或程序无法打开文件,则从 defaults.hpp 加载默认参数。
注意
此方法在构造函数中自动调用,并配置类。
加载不同的参数将影响输出结果。这在视频处理的微调中非常有用。
另请参阅
加载参数

◆ 处理过程

virtual void cv::stereo::QuasiDenseStereo::process ( const cv::Mat & 左图像,
const cv::Mat & 右图像 )
纯虚函数
Python
cv.stereo.QuasiDenseStereo.process(左图像, 右图像) ->

算法的主要过程。此方法计算稀疏种子,然后对其进行稠密化。

初始输入图像转换为灰度图像,然后调用 sparseMatching 方法获取稀疏立体图像。最后调用 quasiDenseMatching 方法来使对应的点稠密化。

参数
[in]左图像立体图像对的左通道。
[in]右图像立体图像对的右通道。
注意
如果输入图像是彩色的,则该方法假设它们是 BGR 格式并将其转换为灰度。
另请参阅
稀疏匹配
准稠密匹配

◆ 保存参数

virtual int cv::stereo::QuasiDenseStereo::saveParameters ( cv::String filepath)
纯虚函数
Python
cv.stereo.QuasiDenseStereo.saveParameters(filepath) -> retval

保存一个文件,其中包含类当前设置的所有配置参数。

参数
[in]filepath存储参数文件的路径。
注意
不带参数调用此方法将导致将类参数存储到根项目文件夹中名为“qds_parameters.yaml”的文件中。
此方法可用于生成用于微调类的模板文件。
另请参阅
加载参数

成员数据文档

◆ 参数

PropagationParameters cv::stereo::QuasiDenseStereo::Param

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