![]() |
OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
|
类 | |
| 类 | cv::cuda::DisparityBilateralFilter |
| 使用联合双边滤波优化视差图的类。 : 更多... | |
| 类 | cv::cuda::StereoBeliefPropagation |
| 使用信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | cv::cuda::StereoBM |
| 使用块匹配算法计算立体匹配(视差图)的类。 : 更多... | |
| 类 | cv::cuda::StereoConstantSpaceBP |
| 使用常量空间信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | cv::cuda::StereoSGM |
| 该类实现了改进的 H. Hirschmuller 算法 [129]。限制和区别如下: 更多... | |
| Ptr< cuda::DisparityBilateralFilter > cv::cuda::createDisparityBilateralFilter | ( | int | ndisp=64, |
| int | radius=3, | ||
| int | iters=1 ) |
#include <opencv2/cudastereo.hpp>
创建 DisparityBilateralFilter 对象。
| ndisp | 视差的数量。 |
| radius | 滤波器半径。 |
| iters | 迭代次数。 |
| 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 类型。 |
| Ptr< cuda::StereoBM > cv::cuda::createStereoBM | ( | int | numDisparities=64, |
| int | blockSize=19 ) |
#include <opencv2/cudastereo.hpp>
创建 StereoBM 对象。
| numDisparities | 视差搜索范围。对于每个像素,算法都会在0(默认最小视差)到numDisparities之间找到最佳视差。通过改变最小视差可以调整搜索范围。 |
| blockSize | 算法比较块的线性大小。大小应该是奇数(因为块以当前像素为中心)。较大的块大小会产生更平滑但不太准确的视差图。较小的块大小会产生更详细的视差图,但算法找到错误匹配的可能性更高。 |
| Ptr< cuda::StereoConstantSpaceBP > 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 类型。 |
| Ptr< cuda::StereoSGM > 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 | 最小可能的视差值。通常为0,但有时校正算法会移动图像,因此需要相应地调整此参数。 |
| numDisparities | 最大视差减去最小视差。该值必须为64、128或256。 |
| P1 | 控制视差平滑度的第一个参数。此参数用于倾斜表面(非前平行)的情况。 |
| P2 | 控制视差平滑度的第二个参数。此参数用于“解决”深度不连续问题。 |
| uniquenessRatio | 最佳(最小)计算出的成本函数值应“胜过”第二个最佳值,以将找到的匹配视为正确的边距(以百分比表示)。通常,5-15范围内的值就足够了。 |
| mode | 将其设置为StereoSGM::MODE_HH以运行全比例双向动态编程算法。它将消耗O(W * H * numDisparities)字节。默认情况下,它设置为StereoSGM::MODE_HH4。 |
| void cv::cuda::drawColorDisp | ( | InputArray | src_disp, |
| OutputArray | dst_disp, | ||
| int | ndisp, | ||
| 流 (Stream) & | stream = Stream::Null() ) |
#include <opencv2/cudastereo.hpp>
对视差图进行着色。
| src_disp | 输入单通道8位无符号、16位有符号、32位有符号或32位浮点视差图像。如果使用16位有符号格式,则假定值为小数位数为零。 |
| dst_disp | 输出视差图像。尺寸与src_disp相同。类型为BGRA格式的CV_8UC4(alpha=255)。 |
| ndisp | 视差的数量。 |
| 流 | Stream 用于异步版本。 |
此函数通过首先将视差值从[0..ndisp)区间转换为HSV颜色空间(其中不同的视差值对应不同的色调),然后将像素转换为RGB进行可视化来绘制彩色视差图。
|
内联 |
| void cv::cuda::reprojectImageTo3D | ( | InputArray | disp, |
| OutputArray | xyzw, | ||
| InputArray | Q, | ||
| int | dst_cn=4, | ||
| 流 (Stream) & | 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 用于异步版本。 |