![]() |
OpenCV 4.12.0
开源计算机视觉
|
类 | |
| 类 | cv::cuda::DisparityBilateralFilter |
| 使用联合双边滤波细化视差图的类。 : 更多... | |
| 类 | cv::cuda::StereoBeliefPropagation |
| 使用信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | cv::cuda::StereoBM |
| 使用块匹配算法计算立体匹配(视差图)的类。 : 更多... | |
| 类 | cv::cuda::StereoConstantSpaceBP |
| 使用常数空间信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | cv::cuda::StereoSGM |
| 该类实现了修改后的 H. Hirschmuller 算法 [128]。限制和差异如下: 更多... | |
| Ptr< cuda::DisparityBilateralFilter > cv::cuda::createDisparityBilateralFilter | ( | int | ndisp = 64, |
| int | radius = 3, | ||
| int | iters = 1 ) |
#include <opencv2/cudastereo.hpp>
创建 DisparityBilateralFilter 对象。
| ndisp | 视差数量。 |
| radius | 滤波器半径。 |
| iters | Number of iterations. |
| 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 | 最小可能视差值。通常为零,但有时校正算法会使图像发生偏移,因此需要相应地调整此参数。 |
| 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 | 视差数量。 |
| 流 | 异步版本的流。 |
此函数通过首先将视差值从 [0..ndisp) 区间转换为 HSV 颜色空间(其中不同的视差值对应不同的色相),然后将像素转换为 RGB 以进行可视化,从而绘制彩色视差图。
|
inline |
| 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。 |
| 流 | 异步版本的流。 |