#ifndef _ITS_VEHICLE_TYPE_REC_H_
|
#define _ITS_VEHICLE_TYPE_REC_H_
|
|
#define VTR_API extern "C" __attribute__((visibility("default")))
|
|
#define MAX_VEHICLE_NUM (5)
|
|
#define MAX_FACE_NUM (10)
|
|
#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) //³¬¹ýÏß³ÌÊÚȨÊýÄ¿
|
|
|
/***************³µÅÆÑÕÉ«******************/
|
typedef enum
|
{
|
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, //dzɫ
|
}E_Vehicle_Bright;
|
|
typedef enum
|
{
|
E_RGB,
|
E_BGR,
|
E_YUV420,
|
}V_ImageType; //ͼƬ¸ñʽ
|
|
typedef struct
|
{
|
int iImageHeight;
|
int iImageWidth;
|
V_ImageType eType;
|
unsigned char *pImageData;
|
}V_Image; //ͼÏñ¸ñʽ
|
|
|
typedef struct
|
{
|
int iLeft;
|
int iTop;
|
int iRight;
|
int iBottom;
|
}S_Rect;
|
|
|
typedef struct
|
{
|
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]; //³µÁ¾ÀàÐÍ ½Î³µ »õ³µ ¿Í³µ Ãæ°ü³µ
|
|
float fVDConf; //³µÁ¾¼ì²âÖÃÐŶÈ
|
|
float fConfdence; //³µÁ¾ÀàÐÍÖÃÐŶÈ
|
int iVehicleSubModel; //³µÐÍÃû³ÆË÷Òý
|
E_Vehicle_Bright eVehicleBright; //³µÁ¾Éîdzɫ
|
E_Vehicle_Color eVehicleColor1;//³µÉíÖ÷ÑÕÉ«
|
E_Vehicle_Color eVehicleColor2;//³µÉí¸¨ÑÕÉ«
|
|
unsigned char*pCaptureImage; //ÊÓÆµÄ£Ê½Ê¶±ðÏÂ×¥ÅĵÄͼƬÊý¾Ý£¬±ØÐëµ÷ÓÃʱ¿ª±Ù£¬Í¼Æ¬Ê¶±ðģʽϲ»±Ø¿ª±Ù
|
//¿ª±Ù´óСΪÊäÈëͼƬ¿í¸ß³Ë»ýµÄ3±¶,ÇÒÊÓÆµÄ£Ê½ÏÂÿ´ÎÖ»Êä³öÒ»¸öʶ±ð½á¹û
|
//(×¢£º´Ë×¥ÅĽá¹ûͼµÄ´æ´¢Ë³ÈôÊäÈëͼÏñÊÇYUV¸ñʽ£¬ÔòΪRGBRGB£¬·ñÔòÓëÊäÈçͼÏñ˳ÐòÏàͬ)
|
int iImageWidth; //ÊÓÆµÄ£Ê½ÏÂ×¥ÅÄͼÏñ¿í¶È
|
int iImageHeight; //ÊÓÆµÄ£Ê½ÏÂ×¥ÅÄͼÏñ¸ß¶È
|
|
}ITS_Vehicle_Result_Single;
|
|
|
typedef struct
|
{
|
ITS_Vehicle_Result_Single tempResult[MAX_VEHICLE_NUM];
|
int iNum;
|
float fLprTime;
|
float fVtrTime;
|
}ITS_Vehicle_Result;
|
|
|
typedef struct
|
{
|
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 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);
|
|
|
|
#endif
|