Video Analysis底层库拆分,sdk的go封装
zhangmeng
2019-11-27 8e01cb7623bfb2ef37358181c5ece8010fd1d260
update
2个文件已修改
128 ■■■■ 已修改文件
sdk/plate/vehicle/include/ItsVehicleTypeRec.h 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk/plate/vehicle/include/PlateType.h 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk/plate/vehicle/include/ItsVehicleTypeRec.h
@@ -8,36 +8,36 @@
#define  MAX_CHAR_NUM     (10)
#define  OK                 (0)     //初始化正确
#define  DATA_OUT           (-1)    //SDK过期
#define  KEY_ERROR          (-2)    //未找到加密狗
#define  MODE_PATH_ERROR    (-3)    //mode文件错误
#define  MAC_KEY_ERROR      (-4)    //mac地址加密文件错误
#define  THREAD_ERROR       (-5)    //超过线程授权数目
#define  OK                 (0)     //初始化正确
#define  DATA_OUT           (-1)    //SDK过期
#define  KEY_ERROR          (-2)    //未找到加密狗
#define  MODE_PATH_ERROR    (-3)    //mode文件错误
#define  MAC_KEY_ERROR      (-4)    //mac地址加密文件错误
#define  THREAD_ERROR       (-5)    //超过线程授权数目
#define VTR_API extern "C" __attribute__((visibility("default"))) 
/***************车身颜色******************/
/***************车身颜色******************/
typedef enum
{
    E_VEHICLE_COLOR_NOT,//δ֪
    E_VEHICLE_RED,      //红色
    E_VEHICLE_GREEN,    //绿色
    E_VEHICLE_BLUE,     //蓝色
    E_VEHICLE_PINK,     //粉色
    E_VEHICLE_BROWN,    //棕色
    E_VEHICLE_YELLOW,   //黄色
    E_VEHICLE_WHITE,    //白色
    E_VEHICLE_BLACK,    //黑色
    E_VEHICLE_GRAY,     //灰色(银色)
    E_VEHICLE_CYAN,     //青色
    E_VEHICLE_COLOR_NOT,//未知
    E_VEHICLE_RED,      //红色
    E_VEHICLE_GREEN,    //绿色
    E_VEHICLE_BLUE,     //蓝色
    E_VEHICLE_PINK,     //粉色
    E_VEHICLE_BROWN,    //棕色
    E_VEHICLE_YELLOW,   //黄色
    E_VEHICLE_WHITE,    //白色
    E_VEHICLE_BLACK,    //黑色
    E_VEHICLE_GRAY,     //灰色(银色)
    E_VEHICLE_CYAN,     //青色
}E_Vehicle_Color;
typedef enum
{
    E_VEHICLE_DARK,  //深色
    E_VEHICLE_LIGHT, //dzɫ
    E_VEHICLE_DARK,  //深色
    E_VEHICLE_LIGHT, //浅色
}E_Vehicle_Bright;
typedef enum 
@@ -45,7 +45,7 @@
    E_RGB,
    E_BGR,
    E_YUV420,  
}V_ImageType;  //图片格式
}V_ImageType;  //图片格式
typedef struct
{
@@ -53,7 +53,7 @@
    int       iImageWidth;
    V_ImageType eType;
    unsigned char *pImageData;
}V_Image; //图像格式
}V_Image; //图像格式
typedef struct  
@@ -67,29 +67,29 @@
typedef struct
{
    int iPlateFlag;                //是否识别到车牌
    PlateInfor plateInfor;         //车牌信息
    S_Rect plateRect;              //车牌位置
    S_Rect tempVehicleRect;        //车辆位置
    int iPlateFlag;                //是否识别到车牌
    PlateInfor plateInfor;         //车牌信息
    S_Rect plateRect;              //车牌位置
    S_Rect tempVehicleRect;        //车辆位置
    
    char tempVehicleType[1024];    //车辆类型--总名称  jeep-大切诺基-2004
    char tempVehicleBrand[1024];   //车辆品牌       jeep
    char tempVehicleSub[1024];     //车辆子型号     大切诺基
    char tempVehicleType1[1024];   //车辆类型   轿车 货车  客车  面包车
    char tempVehicleType[1024];    //车辆类型--总名称  jeep-大切诺基-2004
    char tempVehicleBrand[1024];   //车辆品牌       jeep
    char tempVehicleSub[1024];     //车辆子型号     大切诺基
    char tempVehicleType1[1024];   //车辆类型   轿车 货车  客车  面包车
    float fVDConf;          //车辆检测置信度
    float fVDConf;          //车辆检测置信度
    float fConfdence;              //车辆类型置信度
    int iVehicleSubModel;          //车型名称索引
    E_Vehicle_Bright eVehicleBright; //车辆深浅色
    E_Vehicle_Color eVehicleColor1;//车身主颜色
    E_Vehicle_Color eVehicleColor2;//车身辅颜色
    float fConfdence;              //车辆类型置信度
    int iVehicleSubModel;          //车型名称索引
    E_Vehicle_Bright eVehicleBright; //车辆深浅色
    E_Vehicle_Color eVehicleColor1;//车身主颜色
    E_Vehicle_Color eVehicleColor2;//车身辅颜色
    unsigned char*pCaptureImage; //视频模式识别下抓拍的图片数据,必须调用时开辟,图片识别模式下不必开辟
                                 //开辟大小为输入图片宽高乘积的3倍,且视频模式下每次只输出一个识别结果
                                 //(注:此抓拍结果图的存储顺若输入图像是YUV格式,则为RGBRGB,否则与输如图像顺序相同)
    int iImageWidth;             //视频模式下抓拍图像宽度
    int iImageHeight;            //视频模式下抓拍图像高度
    unsigned char*pCaptureImage; //视频模式识别下抓拍的图片数据,必须调用时开辟,图片识别模式下不必开辟
                                 //开辟大小为输入图片宽高乘积的3倍,且视频模式下每次只输出一个识别结果
                                 //(注:此抓拍结果图的存储顺若输入图像是YUV格式,则为RGBRGB,否则与输如图像顺序相同)
    int iImageWidth;             //视频模式下抓拍图像宽度
    int iImageHeight;            //视频模式下抓拍图像高度
}ITS_Vehicle_Result_Single;
@@ -105,18 +105,18 @@
typedef struct
{
    int iSceneMode;   //场景模式:   0---顶装       1----侧装    2---顶装路径   3---停车场   4----公安
    int iModelMode;   //读取模型方式:0---原始模型   1---修改模型
    int iSceneMode;   //场景模式:   0---顶装       1----侧装    2---顶装路径   3---停车场   4----公安
    int iModelMode;   //读取模型方式:0---原始模型   1---修改模型
}ITS_Rec_Param;
//利用车牌识别,车辆检测进行车型识别
//利用车牌识别,车辆检测进行车型识别
VTR_API int  ITS_ThreadInit(char* fullKeyPath);  
VTR_API int  ITS_GetThreadNum();  //获得加密锁支持的线程数目
VTR_API int  ITS_GetThreadNum();  //获得加密锁支持的线程数目
VTR_API void * ITS_VehicleRecInit(char* modePath, int& iInitFlag, ITS_Rec_Param its_param);//modePath为model文件夹的路径名
VTR_API void * ITS_VehicleRecInit(char* modePath, int& iInitFlag, ITS_Rec_Param its_param);//modePath为model文件夹的路径名
VTR_API int ITS_VehicleTypeRec_new_1(void* pInstance,V_Image* pVImage,S_Rect* roi,ITS_Vehicle_Result* pResult, char plateResult[64]);
sdk/plate/vehicle/include/PlateType.h
@@ -4,10 +4,10 @@
/***************车牌颜色******************/
/***************车牌颜色******************/
typedef enum
{
    E_PLATE_COLOR_NOT,  //δ֪
    E_PLATE_COLOR_NOT,  //未知
    E_PLATE_COLOR_BLUE,
    E_PLATE_COLOR_BLACK,
    E_PLATE_COLOR_YELLOW,
@@ -18,23 +18,23 @@
/***************车牌类型******************/
/***************车牌类型******************/
typedef enum
{
    E_PLATE_TYPE_NOT = 0,          //δ֪
    E_PLATE_TYPE_NORMAL_BLUE,  //普通蓝牌
    E_PLATE_TYPE_NORMAL_BLACK, //普通黑牌
    E_PLATE_TYPE_NORMAL_YELLOW,//普通单层黄牌
    E_PLATE_TYPE_DOUBLE_YELLOW,//双层黄牌
    E_PLATE_TYPE_POLICE,       //白色警牌
    E_PLATE_TYPE_WJ,           //白色武警
    E_PLATE_TYPE_ARMY,         //白色军牌
    E_PLATE_TYPE_GANG,         //港牌
    E_PLATE_TYPE_NONG,         //农用车牌
    E_PLATE_TYPE_ENERGY,       //新能源车牌--纯绿色
    E_PLATE_TYPE_ENERGY_Y,     //新能源车----黄绿色
    E_PLATE_TYPE_INDIVI,       //个性化车牌
    E_PLATE_TYPE_EMBASSY,      //使馆车
    E_PLATE_TYPE_NOT = 0,          //未知
    E_PLATE_TYPE_NORMAL_BLUE,  //普通蓝牌
    E_PLATE_TYPE_NORMAL_BLACK, //普通黑牌
    E_PLATE_TYPE_NORMAL_YELLOW,//普通单层黄牌
    E_PLATE_TYPE_DOUBLE_YELLOW,//双层黄牌
    E_PLATE_TYPE_POLICE,       //白色警牌
    E_PLATE_TYPE_WJ,           //白色武警
    E_PLATE_TYPE_ARMY,         //白色军牌
    E_PLATE_TYPE_GANG,         //港牌
    E_PLATE_TYPE_NONG,         //农用车牌
    E_PLATE_TYPE_ENERGY,       //新能源车牌--纯绿色
    E_PLATE_TYPE_ENERGY_Y,     //新能源车----黄绿色
    E_PLATE_TYPE_INDIVI,       //个性化车牌
    E_PLATE_TYPE_EMBASSY,      //使馆车
}E_Plate_Type; 
@@ -42,7 +42,7 @@
{
    E_Plate_Color ePlateColor;
    E_Plate_Type  ePlateType;
    char platenumber[20];         //车牌号码
    char platenumber[20];         //车牌号码
    int iPlateConfidence;
    int iCharNum;
    int iCharConfidence[20];