Skip to main content

KeyPointInfo

VdecConfig

功能

定义视频流解码使用的结构体。

结构定义

struct VdecConfig {
uint32_t width = 0;
uint32_t height = 0;
MxbaseStreamFormat inputVideoFormat = MXBASE_STREAM_FORMAT_H264_MAIN_LEVEL;
MxbasePixelFormat outputImageFormat = MXBASE_PIXEL_FORMAT_YUV_SEMIPLANAR_420;
uint32_t channelId = 0;
uint32_t deviceId = 0;
pthread_t threadId = 0;
DecodeCallBackFunction callbackFunc = nullptr;
uint32_t outMode = 0;
uint32_t videoChannel = 0;
uint32_t skipInterval = 0;
uint32_t cscMatrix = 0;
void* userData = nullptr;
};

参数说明

参数名输入/输出说明
width输入图像的宽度。
height输入图像的高度。
inputVideoFormat输入输入图像的格式。
outputImageFormat输入输出图像的格式。
channelId输入解码的通道编号。
deviceId输入设备编号。
threadId输入回调线程编号。
callbackFunc输入回调函数。 结构为:
cpp<br>APP_ERROR (*DecodeCallBackFunction)(std::shared_ptr<void> buffer, DvppDataInfo& dvppDataInfo, void* userData)<br>
- buffer:解码后输出的数据。
- dvppDataInfo:解码后输出的数据信息。
- userData:用户定义获取数据指针。
outMode输入选择出帧模式。默认值为0,可取值为0或1。
- “0”:由于解码过程中存在缓存帧,无法实时输出,因此VDEC需要在收到码流中的多帧数据后,才开始输出解码结果。
- “1”:快速出帧模式,VDEC获取码流中的一帧数据后,就开始实时输出解码结果,只支持简单参考关系的H.264/H.265标准码流(无长期参考帧,无B帧)。
videoChannel输入预留参数。
skipInterval输入跳帧参数。
cscMatrix输入色域转换选项。
- HI_CSC_MATRIX_BT601_WIDE = 0,基于BT601 wide标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.000 0.000 1.402 | | Y - 0 |<br> # | G | = | 1.000 -0.344 -0.714 | * | U - 128 | <br> # | B | | 1.000 1.772 0.000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |-0.5 | | 0.299 0.587 0.114 | | R | <br> # | U | = |127.5 | + | -0.168 -0.331 0.500 | * | G | <br> # | V | |127.5 | | 0.500 -0.419 -0.081 | | B | <br>
- HI_CSC_MATRIX_BT601_NARROW =1,基于BT601 narrow标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.16438 0.00000 1.59602 | | Y - 16 |<br> # | G | = | 1.16438 -0.39176 -0.81297 | * | U - 128 | <br> # | B | | 1.16438 2.01723 0.00000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |16 | | 0.25679 0.51564 0.10014 | | R | <br> # | U | = |128| + | -0.14491 -0.29099 0.43922 | * | G | <br> # | V | |128| | 0.42941 -0.36779 -0.07143 | | B | <br>
- HI_CSC_MATRIX_BT709_WIDE =2,基于BT709 wide标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.00000 0.00000 1.57480 | | Y - 0 |<br> # | G | = | 1.00000 -0.18732 -0.46812 | * | U - 128 | <br> # | B | | 1.00000 1.85560 0.00000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |0 | | 0.21260 0.71520 0.07220 | | R | <br> # | U | = |128| + | -0.11457 -0.38543 0.50000 | * | G | <br> # | V | |128| | 0.50000 -0.45415 -0.04585 | | B | <br>
- HI_CSC_MATRIX_BT709_NARROW =3,基于BT709 narrow标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.16438 0.00000 1.79274 | | Y - 16 |<br> # | G | = | 1.16438 -0.21325 -0.53291 | * | U - 128 | <br> # | B | | 1.16438 2.11240 0.00000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |16 | | 0.18259 0.62825 0.06342 | | R | <br> # | U | = |128| + | -0.09840 -0.33857 0.43922 | * | G | <br> # | V | |128| | 0.42941 -0.39894 -0.04027 | | B | <br>
- HI_CSC_MATRIX_BT2020_WIDE =4,基于BT2020 wide标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.00000 0.00000 1.47460 | | Y - 0 |<br> # | G | = | 1.00000 -0.16455 -0.57135 | * | U - 128 | <br> # | B | | 1.00000 1.88140 0.00000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |0 | | 0.26270 0.67800 0.05930 | | R | <br> # | U | = |128| + | -0.13963 -0.36037 0.50000 | * | G | <br> # | V | |128| | 0.50000 -0.45979 -0.04021 | | B | <br>
- HI_CSC_MATRIX_BT2020_NARROW =5,基于BT2020 narrow标准的色域转换矩阵,各参数值参考如下。
text<br> # YUV转RGB:<br> # | R | | 1.16438 0.00000 1.67868 | | Y - 16 |<br> # | G | = | 1.16438 -0.18733 -0.65042 | * | U - 128 | <br> # | B | | 1.16438 2.14177 0.00000 | | V - 128 |<br> # RGB转YUV:<br> # | Y | |16 | | 0.22564 0.59558 0.05209 | | R | <br> # | U | = |128| + | -0.11992 -0.31656 0.43922 | * | G | <br> # | V | |128| | 0.42941 -0.40389 -0.03533 | | B | <br>
userData输入用户自定义数据。

父主题: 通用数据结构

PostImageInfo

功能

定义后处理图片信息使用的结构体。

结构定义

struct PostImageInfo &#123;
uint32_t widthOriginal = 0;
uint32_t heightOriginal = 0;
uint32_t widthResize = 0;
uint32_t heightResize = 0;
float x0 = 0;
float y0 = 0;
float x1 = 0;
float y1 = 0;
&#125;;

参数说明

参数名输入/输出说明
widthOriginal输入原始图片宽度。
heightOriginal输入原始图片高度。
widthResize输入缩放后图片宽度。
heightResize输入缩放后图片高度。
x0输入左上角横坐标。
y0输入左上角纵坐标。
x1输入右下角横坐标。
y1输入右下角纵坐标。

父主题: 通用数据结构

KeyPointInfo

功能

面部关键点(左/右眼、鼻尖、左/右嘴角)坐标信息。

结构定义

struct KeyPointInfo &#123;
float kPBefore[LANDMARK_LEN];
&#125;;

参数说明

参数名输入/输出说明
kPBefore输入关键点坐标数组。

父主题: 通用数据结构

HungarianHandle

功能

匈牙利算法,一种在多项式时间内求解任务分配问题的组合优化算法。

结构定义

struct HungarianHandle &#123;
int rows;
int cols;
int max;
int* resX;
int* resY;
bool transpose;
std::shared_ptr<int> adjMat;
std::shared_ptr<int> xMatch;
std::shared_ptr<int> yMatch;
std::shared_ptr<int> xValue;
std::shared_ptr<int> yValue;
std::shared_ptr<int> slack;
std::shared_ptr<int> xVisit;
std::shared_ptr<int> yVisit;
&#125;;

参数说明

参数名输入/输出说明
rows输入匹配矩阵行。
cols输入匹配矩阵列。
max输出匹配矩阵行与列最大值。
resX输出点集x匹配结果。
resY输出点集y匹配结果。
transpose输出矩阵转置标识符。
adjMat输入权值矩阵。
xMatch输出点集x匹配值。
yMatch输出点集y匹配值。
xValue输出点集x顶标值。
yValue输出点集y值,默认为0。
slack输出slack数组。
xVisit输出点集x匹配标识符。
yVisit输出点集y匹配标识符。

父主题: 通用数据结构

IOUMethod

功能

IOU计算方式。

结构定义

enum IOUMethod &#123;
MAX = 0,
MIN = 1,
UNION = 2,
DIOU = 3
&#125;;

参数说明

参数名输入/输出说明
MAX输入重叠区域除以两者中面积大的。
MIN输入重叠区域除以两者中面积小的。
UNION输入重叠区域除以两者面积并集。
DIOU输入重叠区域除以两者面积并集减去距离的交并比。

父主题: 通用数据结构

EncodeH26xInfo

功能

视频编码回调传入数据。

结构定义

struct EncodeH26xInfo &#123;
std::function<void(std::shared_ptr<uint8_t>, uint32_t)> func = &#123;&#125;;
&#125;;

参数说明

参数名输入/输出说明
func输入用于视频编码回调处理的函数对象。 函数对象的第一个参数“std::shared_ptr<uint8_t>”为输出的视频流数据(Host侧的数据),第二个参数“uint32_t”为视频流数据大小。

父主题: 通用数据结构

在线提单