#ifndef _LPRECOGNITION_H_ #define _LPRECOGNITION_H_ #define LPR_API extern "C" __attribute__((visibility("default"))) #define LPR_OK 0 //³õʼ»¯ÕýÈ· #define LPR_KEY_ERROR -1 //δÕÒµ½¼ÓÃܹ· //³µÅÆÀàÐÍ typedef enum { E_PT_NOTKNOWN, //δ֪ÀàÐÍ E_PT_NORMAL_BLUE, //ÆÕͨÀ¶ÅÆ E_PT_NORMAL_BLACK, //ÆÕͨºÚÅÆ E_PT_NORMAL_YELLOW,//ÆÕͨµ¥²ã»ÆÅÆ E_PT_DOUBLE_YELLOW,//Ë«²ã»ÆÅÆ E_PT_POLICE, //°×É«¾¯ÅÆ E_PT_WJ, //°×É«Î侯 E_PT_ARMY, //°×É«¾üÅÆ E_PT_GANG, //¸ÛÅÆ E_PT_NONG, //Å©ÓóµÅÆ----ÍÏÀ­»ú E_PT_ENERGY, //ÐÂÄÜÔ´³µ----ÂÌÉ« E_PT_ENERGY_Y, //ÐÂÄÜÔ´³µ----»ÆÉ« E_PT_INDIVI, //¸öÐÔ»¯³µÅÆ E_PT_EMBASSY, //ʹ¹Ý³µ E_PT_YINGJI, //Ó¦¼±³µÅÆ }LPR_LPlateType; //³µÉíÑÕÉ« typedef enum { E_VC_NOTKNOWN, //δ֪ E_VC_WHITE, //°× E_VC_SILVER, //»Ò E_VC_YELLOW, //»Æ E_VC_RED, //ºì E_VC_GREEN, //ÂÌ E_VC_BLUE, //À¶ E_VC_BLACK, //ºÚ }LPR_LVehicleColor; typedef enum { E_VC_DARK, //ÉîÉ« E_VC_LIGHT, //dzɫ }LPR_LVehicleBright; typedef enum { E_LPR_RGB, E_LPR_BGR, }LPR_ImageType; typedef struct { int iLeft; int iTop; int iRight; int iBottom; }LPR_Rect; typedef struct { LPR_ImageType eImageType; //ͼÏñÀàÐÍ int iImageMode; //0£ºÎªÖ¡Ä£Ê½ 1£ºÎª³¡Ä£Ê½ int iRecMode; //ʶ±ðģʽ£¬0£ºµ¥ÕÅͼƬʶ±ð£¬1:ÊÓÆµ¼ì²â+ʶ±ð£¬2£ºÊÓÆµ¶àÖ¡ÈÚºÏʶ±ð(×¢£º1ģʽ±È2ģʽ¿ì£¬µ«Ê¶±ðÂʺͲ¶»ñÂʱÈ2µÍ) int iResultNum; //Êä³ö½á¹û²ÎÊý£¬×î¶àÖ§³ÖÊä³ö4¸ö½á¹û int iMinPlateWidth; //ʶ±ð×îС³µÅÆ¿í¶È int iMaxPlateWidth; //ʶ±ð×î´ó³µÅÆ¿í¶È /******************½ÃÕý²ÎÊý******************/ int iHorCorrect; //ÊÇ·ñ×öˮƽÇãб½ÃÕý,Èô²»×öˮƽÇãб½ÃÕý£¬ÔòËã·¨ÄÚ²¿²»»á×ö´¹Ö±´íÇнÃÕý int iVerCorrect; //ÊÇ·ñ×ö´¹Ö±´íÇнÃÕý int iMinHorAngle; int iMaxHorAngle;//ˮƽ½ÃÕý½Ç¶È·¶Î§£¬Ö§³Ö×î´ó½Ç¶ÈΪ[-30¡ã£¬30¡ã] int iMinVerAngle; int iMaxVerAngle;//´¹Ö±½ÃÕý½Ç¶È·¶Î§£¬Ö§³Ö×î´ó½Ç¶ÈΪ[-30¡ã£¬30¡ã] int iPlateBornThr; //³µÅÆÊä³öÖ¡ÊýãÐÖµ£º¼È³µÅƳöÏÖ´óÓÚ´ËÖ¡Êý£¬ÔòÊä³ö½á¹û int iPlateNumThr; //³µÅƳöÏÖ´ÎÊýãÐÖµ£º¼È³µÅƳöÏÖСÓÚ´ËÊýÄ¿£¬Ôò²»Êä³ö int iPlateDeadThr; //³µÅÆÏûʧ֡Êý£ºÕë¶ÔÊÓÆµÓ¦Ó㬳µÅÆÏûʧ´óÓÚ´ËãÐÖµ£¬½øÐÐÊä³ö int iImageWidth; //ͼƬ¿í¶È int iImageHeight; //ͼƬ¸ß¶È char pLocalChinese[3]; //±¾µØºº×Ö×Ö·û£¬Èç¹û´Ë×Ö·ûÉèÖÃΪ¿Õ»òÕß31¸öÊ¡·ÝÖ®ÍâµÄ×Ö£¬Ôò²»Ê¹ÓÃÊ׺º×Ö //´ËЩÏîÕë¶Ô³µÐÍʶ±ðÓÐÓã¬ÆäÓàÎÞÓà float fExpLeftRightR; //³µÁ³×óÓÒÀ©³ä(³µÅƵĿí¶È)±¶Êý ²Î¿¼ÖµÎª1.6 float fExpTopR; //³µÁ³Éϲ¿À©³ä(³µÅƵĸ߶È)±¶Êý ²Î¿¼ÖµÎª6.0 float fExpBottomR; //³µÁ³Ï²¿À©³ä(³µÅƵĸ߶È)±¶Êý ²Î¿¼ÖµÎª1.5 }LPR_RecParma; typedef struct { int iYear; int iMonth; int iDay; int iHour; int iMinute; int iSecond; int iMilliseconds; }LPR_Time; typedef struct { int iYear; int iMonth; int iDay; }LPR_DATE; typedef struct { char number[20]; //ʶ±ð½á¹û LPR_Rect PlateRect; //³µÅÆÎ»Öà int x[4]; int y[4]; int iConfidence; //³µÅÆÖÃÐÅ¶È LPR_LPlateType ePlateType; //³µÅÆÀàÐÍ int iMoveDir; //³µÁ¾Ô˶¯·½Ïò 0£º³¯½üÔ˶¯£¬1£º³¯Ô¶Ô˶¯£¬-1£ºÎ´Öª LPR_LVehicleColor eVColor1; //³µÉíÖ÷ÑÕÉ« LPR_LVehicleColor eVColor2; //³µÉí´ÎÑÕÉ« LPR_LVehicleBright eVehicleBright; //³µÁ¾Éîdzɫ unsigned char *pResultBits; //ÊÓÆµÊ¶±ðģʽÖÐ×¥ÅĵÄͼƬ,ÊÓÆµÄ£Ê½Ê¶±ðÏÂÓÐЧ£¬ÐèÒª¿ª±Ù int iFramNo; //ÊÓÆµÄ£Ê½ÏÂÖ¡ºÅ LPR_Time sTime; //ÊÓÆµÊ¶±ðģʽÖÐ×¥ÅÄ´ËÕÅͼµÄʱ¼ä //Õë¶Ô³µÁ³Ê¶±ðÓ¦ÓôËÏÆäÓàÎÞÓà unsigned char *pVehicleFaceImage; //¶ÔÓ¦µÄ³µÁ³µÄͼƬ,ÐèÒªÌáǰ¿ª±ÙÄڴ棬¿ª±Ù¸ö×î´óÄÚ´æ¾Í¿ÉÒÔ£¬¿í¸ß¿ÉÒÔ¶¼Îª1000 int iVehicleFaceWidth; //³µÁ³¿í¶È int iVehicleFaceHeight; //³µÁ³¸ß¶È int iGrayFaceFlag; //³µÁ³ÊÇ·ñΪ»Ò¶Èͼ LPR_Rect charLocation[20]; //³µÅÆ×Ö·ûµÄλÖÃ(»ùÓÚ´óͼ) int charConfidence[20]; //×Ö·ûʶ±ðÖÃÐÅ¶È int iCharNum; //³µÅÆ×Ö·ûÊýÄ¿ }LPR_Result; LPR_API int LPR_ThreadInit(char* fullkeypath); LPR_API void LPR_SetRecThr(void* pInstance,int iThr); //ÉèÖóµÅÆÊ¶±ðãÐÖµ£º0~5,0×î¿íËÉ£¬5×îÑϸñ£¬Ä¬ÈÏΪ3 LPR_API void* LPR_Init(LPR_RecParma RecParma); //³õʼ»¯,ÿ¸öÏ̶߳¼±ØÐëµ÷ÓÃÒ»´Î LPR_API int LPR_RecImage(unsigned char *pBits, int iWidth, int iHeight ,LPR_Result* pLprResult,LPR_Rect* recROI,void* pInstance);//ʶ±ð LPR_API int LPR_RecImage_mobile(unsigned char *pBits, int iWidth, int iHeight ,LPR_Result* pLprResult,LPR_Rect* recROI,void* pInstance);//ʶ±ð LPR_API void LPR_Uninit(void* pInstance); //ÊÍ·Å //ÔÆ¶Ëʶ±ð½Ó¿Ú LPR_API void* LPR_Cloud_Init(LPR_RecParma RecParma, char* fullModel); LPR_API int LPR_Cloud_RecImage(unsigned char *pBits, int iWidth, int iHeight ,LPR_Result* pLprResult,LPR_Rect* recROI,void* pInstance);//ʶ±ð LPR_API void LPR_Cloud_Uninit(void* pInstance); #endif