VPI - 视觉编程接口

3.2 版本

StereoDisparity.h
前往此文件的文档。
1 /*
2  * 版权所有 2019-2024 NVIDIA Corporation。保留所有权利。
3  *
4  * 致许可证持有者:
5  *
6  * 此源代码和/或文档(“许可交付物”)受
7  * 美国和国际版权法规定的 NVIDIA 知识产权保护。
8  *
9  *
10  * 此处包含的许可交付物是 NVIDIA 的专有和
11  * 机密信息,并根据 NVIDIA 和
12  * 许可方之间(“许可协议”)或以电子方式
13  * 许可方接受的 NVIDIA 软件许可协议条款和条件提供。 尽管许可协议中有任何相反的条款或条件,
14  * 尽管许可协议中有任何相反的条款或条件,未经 NVIDIA 明确书面同意,
15  * 未经 NVIDIA 明确书面同意,不得向任何第三方复制或披露许可交付物。
16  * 未经 NVIDIA 明确书面同意,不得向任何第三方复制或披露许可交付物。
17  *
18  *
19  * 尽管许可协议中有任何相反的条款或条件,
20  * NVIDIA 对这些许可交付物针对任何特定用途的适用性不做任何陈述。
21  * NVIDIA 对这些许可交付物针对任何特定用途的适用性不做任何陈述。它是
22  * 按“原样”提供,不附带任何明示或暗示的保证。
23  * NVIDIA 声明不对这些许可交付物做出任何保证,包括所有关于适销性、
24  * NVIDIA 声明不对这些许可交付物做出任何保证,包括所有关于适销性、
25  * 非侵权性以及适用于特定用途的所有默示保证。
26  * 尽管许可协议中有任何相反的条款或条件,
27  * 在任何情况下,NVIDIA 均不对任何
28  * 特殊、间接、附带或后果性损害,或任何
29  * 因使用、数据或利润损失而导致的任何损害负责,
30  * 无论是在合同诉讼、过失或其他侵权行为中,
31  * 因使用或执行这些许可交付物而引起或与之相关的行为。
32  * 因使用或执行这些许可交付物而引起或与之相关的行为。
33  *
34  * 美国政府最终用户。 这些许可交付物是
35  * “商业项目”,该术语在 48 C.F.R. 2.101(10 月
36  * 1995 年)中定义,由“商业计算机软件”和“商业
37  * 计算机软件文档”组成,这些术语在 48
38  * C.F.R. 12.212(1995 年 9 月)中使用,并且仅作为商业最终产品提供给美国政府。
39  * 仅作为商业最终产品提供给美国政府。与 48 C.F.R.12.212 和
40  * 48 C.F.R. 227.7202-1 至 227.7202-4(1995 年 6 月)一致,所有
41  * 美国政府最终用户根据此处规定的权利获得许可交付物。
42  * 美国政府最终用户根据此处规定的权利获得许可交付物。
43  *
44  * 在个人和商业软件中使用许可交付物必须在用户文档和代码的内部
45  * 在个人和商业软件中使用许可交付物必须在用户文档和代码的内部
46  * 注释中包含上述免责声明和美国政府最终用户声明。
47  * 注释中包含上述免责声明和美国政府最终用户声明。
48  */
49 
50 #ifndef NV_VPI_ALGORITHMS_STEREO_DISPARITY_H
51 #define NV_VPI_ALGORITHMS_STEREO_DISPARITY_H
52 
59 #include "../Export.h"
60 #include "../ImageFormat.h"
61 #include "../Status.h"
62 #include "../Types.h"
63 
64 #include <stdint.h>
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 
82 typedef struct
83 {
89  int32_t maxDisparity;
90 
94  int32_t downscaleFactor;
95 
103 
105 
120 
184 VPI_PUBLIC VPIStatus vpiCreateStereoDisparityEstimator(uint64_t backends, int32_t imageWidth, int32_t imageHeight,
185  VPIImageFormat inputFormat,
187  VPIPayload *payload);
188 
199 typedef enum
200 {
205 
210 
214 
216 
220 typedef struct
221 {
227  int32_t windowSize;
228 
232  int32_t maxDisparity;
233 
238 
241  int32_t quality;
242 
248 
253  int32_t minDisparity;
254 
262  int32_t p1;
263 
274  int32_t p2;
275 
287  int32_t p2Alpha;
288 
296  float uniqueness;
297 
304  int8_t numPasses;
305 
307 
329 
392 VPI_PUBLIC VPIStatus vpiSubmitStereoDisparityEstimator(VPIStream stream, uint64_t backend, VPIPayload payload,
393  VPIImage left, VPIImage right, VPIImage disparity,
394  VPIImage confidenceMap,
395  const VPIStereoDisparityEstimatorParams *params);
398 #ifdef __cplusplus
399 }
400 #endif
401 
402 #endif /* NV_VPI_ALGORITHMS_STEREO_DISPARITY_H */
uint64_t VPIImageFormat
预定义的图像格式。
struct VPIImageImpl * VPIImage
图像的句柄。
定义: Types.h:256
struct VPIPayloadImpl * VPIPayload
算法负载的句柄。
定义: Types.h:268
VPIStatus
状态代码。
定义: Status.h:81
int32_t p2Alpha
Alpha 用于启用自适应大惩罚(adaptive P2)功能。
int32_t p1
相邻像素之间视差变化 +/- 1 的惩罚。
int32_t maxDisparity
用于匹配搜索的最大视差。
float uniqueness
唯一性比率,范围为 [0, 1],是最佳成本值应超过第二佳值的幅度...
VPIStereoDisparityConfidenceType confidenceType
用于生成置信度输出的计算类型。
int32_t windowSize
表示 OFA+PVA+VIC 后端的中间值滤波器大小或人口普查变换窗口大小(其他后端...)
int32_t minDisparity
最小可能的视差值。
int32_t quality
已忽略,请勿使用。
int32_t confidenceThreshold
置信度阈值,高于此阈值则视差值被认为是有效的。
int32_t downscaleFactor
输出相对于输入分辨率的降采样因子。
int32_t p2
相邻像素之间视差变化大于 1 的惩罚。
int8_t numPasses
内存高效半全局匹配 (eSGM) 计算中的 passes 数量。
int32_t maxDisparity
用于匹配搜索的最大视差。
int8_t includeDiagonals
在半全局匹配 (SGM) 计算中包含对角线或倾斜路径。
VPIStatus vpiInitStereoDisparityEstimatorCreationParams(VPIStereoDisparityEstimatorCreationParams *params)
使用默认值初始化 VPIStereoDisparityEstimatorCreationParams。
VPIStatus vpiCreateStereoDisparityEstimator(uint64_t backends, int32_t imageWidth, int32_t imageHeight, VPIImageFormat inputFormat, const VPIStereoDisparityEstimatorCreationParams *params, VPIPayload *payload)
为 vpiSubmitStereoDisparityEstimator 创建负载。
VPIStatus vpiInitStereoDisparityEstimatorParams(VPIStereoDisparityEstimatorParams *params)
使用默认值初始化 VPIStereoDisparityEstimatorParams。
VPIStereoDisparityConfidenceType
定义置信度值的计算方式。
VPIStatus vpiSubmitStereoDisparityEstimator(VPIStream stream, uint64_t backend, VPIPayload payload, VPIImage left, VPIImage right, VPIImage disparity, VPIImage confidenceMap, const VPIStereoDisparityEstimatorParams *params)
在一对图像上运行立体处理并输出视差图。
@ VPI_STEREO_CONFIDENCE_INFERENCE
像素的置信度值在 0:UINT16_MAX 范围内,从 0% 映射到 100%。
@ VPI_STEREO_CONFIDENCE_RELATIVE
像素的 U16 置信度值由以下公式给出:[ 1 - abs(D_lr - D_rl) / D_lr ] * 0xFFFF。
@ VPI_STEREO_CONFIDENCE_ABSOLUTE
像素的 U16 置信度值由以下公式给出:[ 1 - abs(D_lr - D_rl) / MAX_DISP ] * 0xFFFF。
定义 vpiCreateStereoDisparityEstimator 参数的结构体。
定义 vpiSubmitStereoDisparityEstimator 参数的结构体。
struct VPIStreamImpl * VPIStream
流的句柄。
定义: Types.h:250