Video Analysis底层库拆分,sdk的go封装
zhangzengfei
2019-11-19 a8ff93a0cf274795f0e9c3d66093f1c4c6ccf972
csdk_struct.h
@@ -69,4 +69,114 @@
    float prob;
} cObjInfo;
typedef struct _cPlateIDCfg {
    int nFastMemorySize;            // 单位 K
    int nMemorySize;                // 单位 M
    int nMinPlateWidth;            // 检测的最小车牌宽度,以像素为单位
    int nMaxPlateWidth;            // 检测的最大车牌宽度,以像素为单位
    int nMaxImageWidth;            // 最大图像宽度
    int nMaxImageHeight;         // 最大图像高度
    unsigned char bIsFieldImage;   // 是否是场图像
    unsigned char bMovingImage;      // 识别运动or静止图像
    unsigned char nOrderOpt;      // 输出顺序选项 0-置信度 1-自上而下 2-自下而上
    unsigned char bLeanCorrection;   // 是否启用车牌旋转功能,默认开启
    unsigned char nImproveSpeed;   // 0: 识别率优先 1:识别速度优先
    unsigned char bCarLogo;         // 0: 不检测车标 1: 检测车标
    unsigned char bLotDetect;      // 0: 不检测车位 1: 检测车位
    unsigned char bShadow;         // 0: 针对无阴影的车牌 1:针对有阴影的车牌,默认开启
    unsigned char bShieldRailing;   // 0: 屏蔽栏杆干扰, 1:不屏蔽栏杆干扰
    unsigned char bCarModel;      // 0: 不识别车型, 1: 识别车型
    unsigned char bLocateTh;      // 车牌定位阈值
    unsigned char bOCRTh;           // 车牌识别阈值
    unsigned char bIndividual;      // 个性化车牌开启
    unsigned char bTwoRowYellow;   // 双层黄色车牌开启
    unsigned char bArmPolice;      // 单层武警车牌开启
    unsigned char bArmPolice2;      // 双层武警车牌开启
    unsigned char bTwoRowArmy;      // 双层军队车牌开启
    unsigned char bTractor;          // 农用车车牌开启
    unsigned char bEmbassy;          // 使馆车牌开启
    unsigned char bChangNei;      // 厂内车牌开启
    unsigned char bMinHang;          // 民航车牌开启
    unsigned char bConsulate;      // 领事馆车牌开启
    unsigned char bNewEnergy;      // 新能源车牌开启
    unsigned char bOnlyTwoRowYellow;// 只识别双层黄牌开启
    unsigned char bOnlyLocation;    // 只定位车牌开启
}cPlateIDCfg;
typedef struct _cPlateIDResult {
   char license[16];   // 车牌字符串
   char color[8];      // 车牌颜色
   int nColor;         // 车牌颜色
   int nType;         // 车牌类型
   int nConfidence;   // 整牌可信度
   int nBright;      // 亮度评价
   int nDirection;      // 车牌运动方向,0 unknown, 1 left, 2 right, 3 up, 4 down
   cRECT rcLocation;                // 车牌坐标
   const unsigned char *pbyBits;       // 识别结果对应的图片的缓冲区
   int nTime;                      // 识别耗时
   unsigned char nCarBright;          // 车的亮度
   unsigned char nCarColor;          // 车的颜色
   unsigned char nCarLogo;             // 车标类型
   unsigned char nCarType;             // 车辆类型
   unsigned char *pbyPlateBin;         // 车牌二值化结果(按bit存储)
   unsigned short nBinPlateWidth;      // 二值化结果中车牌宽度
   unsigned short nBinPlateHeight;     // 二值化结果中车牌高度
   char reserved[70];                // 保留
   cRECT rcLogoLocation;             // 车标坐标
   unsigned short nCarModel;           // 车辆类型
   unsigned short nCarModelConfidence;   // 车型可信度
}cPlateIDResult;
typedef struct _cPlateIDCloudSDKCfg {
   int iImageMode;         //0:为帧模式 1:为场模式
   int iRecMode;           //识别模式,0:单张图片识别,1:视频检测+识别,2:视频多帧融合识别(注:1模式比2模式快,但识别率和捕获率比2低)
   int iMinPlateWidth;     //识别最小车牌宽度
   int iMaxPlateWidth;     //识别最大车牌宽度
   int iImageWidth;        //图片宽度
   int iImageHeight;       //图片高度
   int iMinHorAngle;
   int iMaxHorAngle;       //水平矫正角度范围,支持最大角度为[-30°,30°]
   int iMinVerAngle;
   int iMaxVerAngle;       //垂直矫正角度范围,支持最大角度为[-30°,30°]
   //此些项针对车型识别有用,其余无用
   float fExpLeftRightR;   //车脸左右扩充(车牌的宽度)倍数 参考值为1.6
   float fExpTopR;         //车脸上部扩充(车牌的高度)倍数 参考值为6.0
   float fExpBottomR;      //车脸下部扩充(车牌的高度)倍数 参考值为1.5
}cPlateIDCloudSDKCfg;
typedef struct _cPlateIDCloudSDKResult {
   char number[20];     //识别结果
   cRECT PlateRect;    //车牌位置
   int x[4];
   int y[4];
   int iConfidence;    //车牌置信度
   int ePlateType;     //车牌类型
   int iMoveDir;       //车辆运动方向 0:朝近运动,1:朝远运动,-1:未知
   int eVColor1;       //车身主颜色
   int eVColor2;       //车身次颜色
   int eVehicleBright; //车辆深浅色
   unsigned char *pResultBits; //视频识别模式中抓拍的图片,视频模式识别下有效,需要开辟
   int iFramNo;        //视频模式下帧号
   int sTime[7];       //视频识别模式中抓拍此张图的时间
   //针对车脸识别应用此项,其余无用
   unsigned char  *pVehicleFaceImage; //对应的车脸的图片,需要提前开辟内存,开辟个最大内存就可以,宽高可以都为1000
   int iVehicleFaceWidth;             //车脸宽度
   int iVehicleFaceHeight;            //车脸高度
   int iGrayFaceFlag;                 //车脸是否为灰度图
   cRECT charLocation[20];     //车牌字符的位置(基于大图)
   int charConfidence[20];     //字符识别置信度
   int iCharNum;               //车牌字符数目
}cPlateIDCloudSDKResult;
#endif