OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
未找到匹配项

详细描述

类 cv::cuda::DisparityBilateralFilter
 使用联合双边滤波细化视差图的类:更多…
 
类 cv::cuda::StereoBeliefPropagation
 使用置信传播算法计算立体匹配(视差图)的类:更多…
 
类 cv::cuda::StereoBM
 使用块匹配算法计算立体匹配(视差图)的类:更多…
 
类 cv::cuda::StereoConstantSpaceBP
 使用常数空间置信传播算法计算立体匹配的类:更多…
 
类 cv::cuda::StereoSGM
 该类实现了改进的H. Hirschmuller算法 [125]。限制和区别如下:更多…
 

函数

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

函数文档

◆ 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()

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()

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最小可能的视差值。通常为零,但有时校正算法会移动图像,因此需要相应调整此参数。
numDisparities最大视差减去最小视差。该值必须为 64、128 或 256。
P1控制视差平滑度的第一个参数。此参数用于倾斜表面(而非正对平行)的情况。
P2控制视差平滑度的第二个参数。此参数用于“解决”深度不连续性问题。
uniquenessRatio最佳(最小)计算成本函数值应比次佳值“胜出”的百分比裕度,以考虑找到的匹配是否正确。通常,5-15 范围内的值就足够了。
mode将其设置为 StereoSGM::MODE_HH 以运行全面的两遍动态规划算法。它将消耗 O(W*H*numDisparities) 字节。默认情况下,它设置为 StereoSGM::MODE_HH4

◆ drawColorDisp()

cv::cuda::drawColorDisp ( 输入数组 src_disp,
输出数组 dst_disp,
int ndisp,
& stream = Stream::Null() )

#include <opencv2/cudastereo.hpp>

为视差图像着色。

参数
src_disp输入单通道 8 位无符号、16 位有符号、32 位有符号或 32 位浮点视差图像。如果使用 16 位有符号格式,则假定值没有小数位。
dst_disp输出视差图像。它与 src_disp 大小相同。类型为 BGRA 格式 (alpha = 255) 的 CV_8UC4。
ndisp视差数量。
stream异步版本的

此函数通过首先将视差值从 [0..ndisp) 区间转换为 HSV 颜色空间(其中不同的视差值对应于不同的色调),然后将像素转换为 RGB 以进行可视化,从而绘制彩色视差图。

◆ reprojectImageTo3D() [1/2]

cv::cuda::reprojectImageTo3D ( GpuMat disp,
GpuMat & xyzw,
Mat Q,
int dst_cn = 4,
& stream = Stream::Null() )
内联

#include <opencv2/cudastereo.hpp>

以下是此函数的调用图

◆ reprojectImageTo3D() [2/2]

cv::cuda::reprojectImageTo3D ( 输入数组 disp,
输出数组 xyzw,
输入数组 Q,
int dst_cn = 4,
& 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