From 8464662ccdff684afeeee3356d838e838a0a5d11 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期六, 11 一月 2020 15:19:51 +0800 Subject: [PATCH] update vehicle sdk libs --- sdk/plate/vehicle/include/ItsVehicleTypeRec.h | 153 +++++++++++++++++++++++++++++++------------------- 1 files changed, 94 insertions(+), 59 deletions(-) diff --git a/sdk/plate/vehicle/include/ItsVehicleTypeRec.h b/sdk/plate/vehicle/include/ItsVehicleTypeRec.h index bdcb01e..b1c6302 100644 --- a/sdk/plate/vehicle/include/ItsVehicleTypeRec.h +++ b/sdk/plate/vehicle/include/ItsVehicleTypeRec.h @@ -1,6 +1,7 @@ #ifndef _ITS_VEHICLE_TYPE_REC_H_ #define _ITS_VEHICLE_TYPE_REC_H_ -#include "PlateType.h" + +#define VTR_API extern "C" __attribute__((visibility("default"))) #define MAX_VEHICLE_NUM (5) @@ -8,36 +9,79 @@ #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_PLATE_COLOR_NOT, //未知 + E_PLATE_COLOR_BLUE, + E_PLATE_COLOR_BLACK, + E_PLATE_COLOR_YELLOW, + E_PLATE_COLOR_WHITE, + E_PLATE_COLOR_GREEN, + E_PLATE_COLOR_GREEN_YELLOW +}E_Plate_Color; + + + +/***************车牌类型******************/ +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; + + +typedef struct +{ + E_Plate_Color ePlateColor; + E_Plate_Type ePlateType; + char platenumber[20]; //车牌号码 + int iPlateConfidence; + int iCharNum; + int iCharConfidence[20]; +}PlateInfor; + + +/***************车身颜色******************/ +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; typedef enum { - E_VEHICLE_DARK, //娣辫壊 - E_VEHICLE_LIGHT, //娴呰壊 + E_VEHICLE_DARK, //深色 + E_VEHICLE_LIGHT, //浅色 }E_Vehicle_Bright; typedef enum @@ -45,7 +89,7 @@ E_RGB, E_BGR, E_YUV420, -}V_ImageType; //鍥剧墖鏍煎紡 +}V_ImageType; //图片格式 typedef struct { @@ -53,7 +97,7 @@ int iImageWidth; V_ImageType eType; unsigned char *pImageData; -}V_Image; //鍥惧儚鏍煎紡 +}V_Image; //图像格式 typedef struct @@ -67,29 +111,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鏍煎紡锛屽垯涓篟GBRGB锛屽惁鍒欎笌杈撳鍥惧儚椤哄簭鐩稿悓) - int iImageWidth; //瑙嗛妯″紡涓嬫姄鎷嶅浘鍍忓搴� - int iImageHeight; //瑙嗛妯″紡涓嬫姄鎷嶅浘鍍忛珮搴� + unsigned char*pCaptureImage; //视频模式识别下抓拍的图片数据,必须调用时开辟,图片识别模式下不必开辟 + //开辟大小为输入图片宽高乘积的3倍,且视频模式下每次只输出一个识别结果 + //(注:此抓拍结果图的存储顺若输入图像是YUV格式,则为RGBRGB,否则与输如图像顺序相同) + int iImageWidth; //视频模式下抓拍图像宽度 + int iImageHeight; //视频模式下抓拍图像高度 }ITS_Vehicle_Result_Single; @@ -105,34 +149,25 @@ 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涓簃odel鏂囦欢澶圭殑璺緞鍚� +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]); + VTR_API int ITS_VehicleTypeRec(void* pInstance,V_Image* pVImage,S_Rect* roi,ITS_Vehicle_Result* pResult); VTR_API void ITS_VehicleRecRelease(void* pInstance); - -VTR_API void ITS_BinPlate(V_Image* pSrcPlate, V_Image* pBinPlate, int plateType); - - -VTR_API void*FeatureExt_Init(char* modePath,int& iFeatureLen); - -VTR_API void FeatureExt_Extract(void* pInstance, V_Image* pImage, S_Rect* vehicleRoi,float* fFeature); - -VTR_API void FeatureExt_Release(void* pInstance); - -- Gitblit v1.8.0