文档
注册

Metadata proto文件

“opensource/bin/”目录下的protoc为Google Protobuf的编译工具,若用户在插件中使用了自定义的数据结构,protoc可以将其.proto文件生成相应的接口代码。

Google Protobuf数据结构定义文件(MxpiDumpData.proto)

syntax = "proto3";

package MxTools;

message MxpiDumpData
{
    Buffer buffer = 1;
    repeated MetaData metaData = 2;
}

message Buffer
{
    bytes bufferData = 1;
}

message MetaData
{
    string key = 1;
    string content = 2;
    string protoDataType = 3;
}

Google Protobuf数据结构定义文件(MxpiDataType.proto)

syntax = "proto3";

package MxTools;

// 用于存放视频和图像帧,包含帧信息,数据信息。
message MxpiFrame
{
    MxpiFrameInfo frameInfo = 1;
    MxpiVisionList visionList = 2;   // 为了和VPC统一,使用list。
}

message MxpiFrameInfo                // 帧信息
{
    uint32 channelId = 1;
    uint32 frameId = 2;
    bool isEos = 3;
}

message MxpiVisionList               // 视频、图像数据列表
{
    repeated MxpiVision visionVec = 1;
}

message MxpiVision                         // 视频、图像数据结构
{
    repeated MxpiMetaHeader headerVec = 1; //存放插件信息的vector
    MxpiVisionInfo visionInfo = 2;
    MxpiVisionData visionData = 3;
}

message MxpiMetaHeader               // 数据结构头,用于序列化
{
    string parentName = 1;           //此变量在后续版本中将会被弃用,请使用“dataSource”
    int32 memberId = 2;              //MxpiVisionList中对应存放的MxpiVision索引
    string dataSource = 3;           //依赖数据的索引名,通过该索引获取依赖的元数据
}

enum MxpiMemoryType {
    MXPI_MEMORY_HOST = 0;
    MXPI_MEMORY_DEVICE = 1;
    MXPI_MEMORY_DVPP = 2;
    MXPI_MEMORY_HOST_MALLOC = 3;
    MXPI_MEMORY_HOST_NEW = 4;
}

enum MxpiDataType {                   // 数据类型,包括8位无符号整型类型和32位浮点类型
    MXPI_DATA_TYPE_UINT8 = 0;
    MXPI_DATA_TYPE_FLOAT32 = 1;
}
message MxpiVisionInfo                // 视频、图像描述信息
{
    uint32 format = 1;                //描述图像的格式,具体请参见DvppWrapper.h的MxbasePixelFormat
    uint32 width = 2;
    uint32 height = 3;
    uint32 widthAligned = 4;
    uint32 heightAligned = 5;
    uint32 resizeType = 6;            //描述缩放类型,具体请参见MxPluginsUtils.h的RESIZETYPE
    float keepAspectRatioScaling = 7; //缩放比例,取值在[1/32, 16]
    repeated MxpiVisionPreProcess preprocessInfo = 8;
}

message MxpiVisionPreProcess          // 图像前处理信息。例如图像宽高、抠图坐标、贴图坐标
{
    uint32 widthSrc = 1;
    uint32 heightSrc = 2;
    uint32 cropLeft = 3;
    uint32 cropRight = 4;
    uint32 cropTop = 5;
    uint32 cropBottom = 6;

    uint32 pasteLeft = 7;
    uint32 pasteRight = 8;
    uint32 pasteTop = 9;
    uint32 pasteBottom = 10;

    uint32 interpolation = 11;
    string elementName = 12;
}
message MxpiVisionData              // 视频、图像数据内容
{
    uint64 dataPtr = 1;             // 视频、图像内存指针
    int32 dataSize = 2;
    uint32 deviceId = 3;
    MxpiMemoryType memType = 4;
    uint64 freeFunc = 5;            // 视频、图像内存销毁函数
    bytes dataStr = 6;              // bytes数据类型 序列化成JSON时会自动进行base64编码
    MxpiDataType dataType = 7;      
    uint64 matPtr = 8;              
}
message MxpiObjectList               // 目标列表
{
    repeated MxpiObject objectVec = 1;
}

message MxpiObject                  // 目标数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    float x0 = 2;
    float y0 = 3;
    float x1 = 4;
    float y1 = 5;
    repeated MxpiClass classVec = 6; // 类别信息数据结构,此处“MxpiMetaHeader”无效
    MxpiImageMask imageMask = 7;    // 图像语义分割数据信息
}

message MxpiImageMaskList            // 图像语义分割数据列表
{
    repeated MxpiImageMask imageMaskVec = 1;
}

message MxpiImageMask                // 图像语义分割数据信息。例如数据的类别、形状、类别信息
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated string className = 2;
    repeated int32 shape = 3;
    int32 dataType = 4;
    bytes dataStr = 5;
}
message MxpiClass                   // 类别信息数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    int32 classId = 2;
    string className = 3;
    float confidence = 4;
}

message MxpiClassList              // 类别信息列表
{
    repeated MxpiClass classVec = 1;
}

message MxpiAttributeList         // 属性信息列表
{
    repeated MxpiAttribute attributeVec = 1;
}

message MxpiAttribute            // 属性信息数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    int32 attrId = 2;
    string attrName = 3;
    string attrValue = 4;
    float confidence = 5;
}

message MxpiTrackLetList            
{
    repeated MxpiTrackLet trackLetVec = 1;
}

message MxpiTrackLet                
{
    repeated MxpiMetaHeader headerVec = 1;
    uint32 trackId = 2;
    uint32 age = 3;                 // 目标“存活”帧数
    uint32 hits = 4;                // 目标被成功匹配帧数
    int32 trackFlag = 5;            // 状态
}

message MxpiTensorPackageList  // 模型Tensor组合列表
{
    repeated MxpiTensorPackage tensorPackageVec = 1;
}

message MxpiTensorPackage   // 模型Tensor组合数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated MxpiTensor tensorVec = 2;
}

message MxpiTensor       // 模型Tensor数据结构
{
    uint64 tensorDataPtr = 1;             // Tensor内存指针
    int32 tensorDataSize = 2;
    uint32 deviceId = 3;
    MxpiMemoryType memType = 4;
    uint64 freeFunc = 5;            // Tensor内存销毁函数
    repeated int32 tensorShape = 6;       // Tensor维度
    bytes dataStr = 7;
    int32 tensorDataType = 8;
}

message MxpiFeatureVectorList   // 特征向量列表
{
    repeated MxpiFeatureVector featureVec = 1;
}

message MxpiFeatureVector    // 特征向量数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated float featureValues = 2;
}

message MxpiPoseList                        // 人体姿态估计数据列表
{
    repeated MxpiPose poseVec = 1;
}

message MxpiPose                            // 人体姿态估计数据信息
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated MxpiKeyPoint keyPointVec = 2;
    float score = 3;
}

message MxpiKeyPoint                       // 人体关键点数据信息
{
    float x = 1;
    float y = 2;
    int32 name = 3;
    float score = 4;
}
message MxpiKeyPointAndAngleList          // 关键点和角度信息列表
{
    repeated MxpiKeyPointAndAngle keyPointAndAngleVec = 1;
}

message MxpiKeyPointAndAngle
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated float keyPointsVec = 2;        // 目标对应的五个关键点信息
    float angleYaw = 3;                     // 偏航角
    float anglePitch = 4;                   // 俯仰角
    float angleRoll = 5;                    // 横滚角
}
message MxpiTextObjectList                                 // 文本目标数据列表
{
repeated MxpiTextObject objectVec = 1;
}

message MxpiTextObject                                     // 文本目标数据信息。例如文本目标框坐标坐标、置信度、检测文本
{
repeated MxpiMetaHeader headerVec = 1;
float x0 = 2;
float y0 = 3;
float x1 = 4;
float y1 = 5;
float x2 = 6;
float y2 = 7;
float x3 = 8;
float y3 = 9;
float confidence = 10;
string text = 11;
}

message MxpiTextsInfoList                                    // 文本生成数据列表
{
repeated MxpiTextsInfo textsInfoVec = 1;
}

message MxpiTextsInfo                                         // 文本生成数据信息
{
repeated MxpiMetaHeader headerVec = 1;
repeated string text = 2;
}
message MxpiCustomDataList
{
    repeated MxpiCustomData dataVec = 1;
}
message MxpiCustomData
{
    repeated MxpiMetaHeader headerVec = 1;
    map<string, string> map = 2;
}

OSD protobuf 数据结构定义文件(MxpiOSDType.proto)

syntax = "proto3";
 
package MxTools;
 
import "MxpiDataType.proto";
 
message MxpiOsdInstancesList                    //目标或者分类信息Osd列表
{
    repeated MxpiOsdInstances osdInstancesVec = 1;
}
 
message MxpiOsdInstances                       //Osd属性描述信息数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    repeated MxpiOsdText osdTextVec = 2;        //文字描述
    repeated MxpiOsdLine osdLineVec = 3;        //线条描述
    repeated MxpiOsdRect osdRectVec = 4;        //矩形框描述
    repeated MxpiOsdCircle osdCircleVec = 5;      //画圆描述
}
 
message MxpiOsdText                          //文字属性数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    string text = 2;                             //要添加的文字内容
    int32 x0 = 3;                               //添加文字原点坐标的X坐标
    int32 y0 = 4;                               //添加文字原点坐标的Y坐标
    int32 fontFace = 5;                          //文字的字体类型
    double fontScale = 6;                        //文字的字体大小
    bool bottomLeftOrigin = 7;          //取值为true,原点坐标为文字左上角坐标,false为左下角坐标
    MxpiOsdParams osdParams = 8;     //Osd公有属性实例对象
    bool fixedArea = 9;                //缩放后,Osd属性描述信息是否按照原图等比例缩放
}
 
message MxpiOsdLine                             //线条属性数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    int32 x0 = 2;                      //线条左上角X坐标
    int32 y0 = 3;                       //线条左上角Y坐标
    int32 x1 = 4;                      //线条右下角X坐标
    int32 y1 = 5;                      //线条右下角Y坐标
    MxpiOsdParams osdParams = 6;     //Osd公有属性实例对象
}
 
message MxpiOsdRect                   //矩形框属性数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    int32 x0 = 2;                        //矩形框左上角X坐标
    int32 y0 = 3;                        //矩形框左上角Y坐标
    int32 x1 = 4;                        //矩形框右下角X坐标
    int32 y1 = 5;                        //矩形框右下角Y坐标
    MxpiOsdParams osdParams = 6;       //Osd公有属性实例对象
    bool fixedArea = 7;                  //缩放后,Osd属性描述信息是否按照原图等比例缩放
}
 
message MxpiOsdCircle                           //画圆属性数据结构
{
    repeated MxpiMetaHeader headerVec = 1;
    int32 x0 = 2;                       //画圆左上角X坐标
    int32 y0 = 3;                       //画圆左上角Y坐标
    int32 radius = 4;                    //画圆的半径
    MxpiOsdParams osdParams = 5;      //Osd公有属性实例对象
}
 
message MxpiOsdParams               //Osd公有属性数据结构
{
    uint32 scalorB = 1;                //颜色B通道值,取值范围0-255
    uint32 scalorG = 2;                //颜色G通道值,取值范围0-255
    uint32 scalorR = 3;                //颜色R通道值,取值范围0-255
    int32 thickness = 4;               //粗细大小
    int32 lineType = 5;                //线条类型
    int32 shift = 6;                    //缩放参数 
}
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词