在图像序列中执行时域噪声消除。 更多...
数据结构 | |
struct | VPITNRParams |
定义 vpiSubmitTemporalNoiseReduction 参数的结构体。 更多... | |
枚举 | |
enum | VPITNRPreset |
定义时域噪声消除的场景预设。 更多... | |
enum | VPITNRVersion |
定义要使用的 时域噪声消除 算法的版本。 更多... | |
函数 | |
VPIStatus | vpiCreateTemporalNoiseReduction (uint64_t backends, int32_t width, int32_t height, VPIImageFormat imgFormat, VPITNRVersion version, VPIPayload *payload) |
为 时域噪声消除 算法创建负载 (payload)。 更多... | |
VPIStatus | vpiInitTemporalNoiseReductionParams (VPITNRParams *params) |
使用默认值初始化 vpiSubmitTemporalNoiseReduction。 更多... | |
VPIStatus | vpiSubmitTemporalNoiseReduction (VPIStream stream, uint64_t backend, VPIPayload payload, VPIImage prevFrame, VPIImage curFrame, VPIImage outFrame, const VPITNRParams *params) |
向流 (stream) 提交 时域噪声消除 操作。 更多... | |
在图像序列中执行时域噪声消除。
有关更多详细信息和使用示例,请参阅 时域噪声消除。
struct VPITNRParams |
定义 vpiSubmitTemporalNoiseReduction 参数的结构体。
定义于文件 TemporalNoiseReduction.h 的第 166 行。
数据字段 | ||
---|---|---|
VPITNRPreset | preset | 要使用的场景预设。 |
float | strength | 噪声消除强度。
|
enum VPITNRPreset |
#include <vpi/algo/TemporalNoiseReduction.h>
定义时域噪声消除的场景预设。
这些预设由 时域噪声消除 使用,以定义其内部参数,这些参数适用于使用给定特性捕获的场景的噪声消除。
定义于文件 TemporalNoiseReduction.h 的第 83 行。
enum VPITNRVersion |
#include <vpi/algo/TemporalNoiseReduction.h>
定义要使用的 时域噪声消除 算法的版本。
版本号越高,通常质量越好。
枚举器 | |
---|---|
VPI_TNR_DEFAULT | 选择当前设备和给定后端可用的最佳质量版本。 |
VPI_TNR_V1 | 版本 1,没有场景控制,降噪能力较差,尤其是在黑暗场景中,但运行速度快。
|
VPI_TNR_V2 | 版本 2,提供噪声消除强度控制,处理速度尚可。
|
VPI_TNR_V3 | 版本 3,提供非常好的整体质量,尤其是在黑暗场景中。
|
定义于文件 TemporalNoiseReduction.h 的第 97 行。
VPIStatus vpiCreateTemporalNoiseReduction | ( | uint64_t | backends, |
int32_t | width, | ||
int32_t | height, | ||
VPIImageFormat | imgFormat, | ||
VPITNRVersion | version, | ||
VPIPayload * | payload | ||
) |
#include <vpi/algo/TemporalNoiseReduction.h>
为 时域噪声消除 算法创建负载 (payload)。
此函数分配算法所需的所有资源,并将返回的负载 (payload) 绑定到给定的后端。
[in] | backends | 有资格执行该算法的 VPI 后端。
|
[in] | width,height | 要处理的帧的尺寸。
|
[in] | imgFormat | 要处理的图像的格式。 |
[in] | version | 要使用的算法版本。 |
[out] | payload | 指向接收创建的句柄的负载 (payload) 变量的指针。 |
VPI_IMAGE_FORMAT_INVALID | 不支持 imgFormat 。 |
VPI_ERROR_INVALID_ARGUMENT | payload 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | width 或 height 超出有效范围。 |
VPI_ERROR_INVALID_ARGUMENT | 无效的 TNR version 。 |
VPI_ERROR_INVALID_ARGUMENT | backends 指的是无效的后端。 |
VPI_ERROR_INVALID_OPERATION | 没有可用的 VIC 支持。 |
VPI_ERROR_INVALID_OPERATION | 后端在当前上下文中未启用。 |
VPI_ERROR_NOT_IMPLEMENTED | 给定后端不支持时域噪声消除算法版本。 |
VPI_ERROR_NOT_IMPLEMENTED | VIC 硬件不支持 TNRv3。 |
VPI_ERROR_INVALID_CONTEXT | 当前上下文已销毁。 |
VPI_ERROR_OUT_OF_MEMORY | 无法分配所需资源。 |
VPI_SUCCESS | 操作成功执行。 |
VPIStatus vpiInitTemporalNoiseReductionParams | ( | VPITNRParams * | params | ) |
#include <vpi/algo/TemporalNoiseReduction.h>
使用默认值初始化 vpiSubmitTemporalNoiseReduction。
默认值
[in] | params | 要填充默认值的结构体。 |
VPI_ERROR_INVALID_ARGUMENT | params 为 NULL。 |
VPI_SUCCESS | 操作成功执行。 |
VPIStatus vpiSubmitTemporalNoiseReduction | ( | VPIStream | stream, |
uint64_t | backend, | ||
VPIPayload | payload, | ||
VPIImage | prevFrame, | ||
VPIImage | curFrame, | ||
VPIImage | outFrame, | ||
const VPITNRParams * | params | ||
) |
#include <vpi/algo/TemporalNoiseReduction.h>
向流 (stream) 提交 时域噪声消除 操作。
[in] | stream | 操作将在其中排队的流 (stream)。
|
[in] | backend | 将执行该算法的后端。
|
[in] | payload | 要与其他参数一起提交的负载 (payload)。 |
[in] | prevFrame | 上一次迭代的结果。如果传递的帧不是上一次迭代的结果图像,则 TNR 会将其视为空 (NULL),即内部状态将被重置,并且 curFrame 将被视为要降噪的新序列的第一帧。
|
[in] | curFrame | 要处理的当前(含噪)帧。
|
[out] | outFrame | 输出帧,降噪后的图像将写入其中。
|
[in] | params | 时域噪声消除的控制参数。如果为 NULL,则将使用 vpiInitTemporalNoiseReductionParams 给出的默认值。 |
VPI_ERROR_INVALID_ARGUMENT | stream 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | curFrame 或 outFrame 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | payload 不是使用 vpiCreateTemporalNoiseReduction 系列函数生成的。 |
VPI_ERROR_INVALID_ARGUMENT | prevFrame 、curFrame 和 outFrame 必须具有与 payload 创建期间配置的格式和大小相同的格式和大小。 |
VPI_ERROR_INVALID_ARGUMENT | params 中的强度超出有效范围。 |
VPI_ERROR_INVALID_PAYLOAD_TYPE | payload 无效。 |
VPI_ERROR_INVALID_OPERATION | 所需的后端在 stream 、prevFrame 、curFrame 或 outFrame 中未启用。 |
VPI_SUCCESS | 操作成功执行。 |