From 01f10af7d520bd93367f385f91e33849f5d8773e Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期四, 14 十一月 2019 17:27:21 +0800 Subject: [PATCH] fix: plate id sdk add get default config method --- go2c.go | 2 ++ gosdk.go | 37 +++++++++++++++++++++++++++++++++++++ csrc/buz/plate/detector.cpp | 8 +++++--- csdk_struct.h | 2 ++ 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/csdk_struct.h b/csdk_struct.h index db913fa..a6b2374 100644 --- a/csdk_struct.h +++ b/csdk_struct.h @@ -70,6 +70,8 @@ } cObjInfo; typedef struct _cPlateIDCfg { + int nFastMemorySize; // 鍗曚綅 K + int nMemorySize; // 鍗曚綅 M int nMinPlateWidth; // 妫�娴嬬殑鏈�灏忚溅鐗屽搴︼紝浠ュ儚绱犱负鍗曚綅 int nMaxPlateWidth; // 妫�娴嬬殑鏈�澶ц溅鐗屽搴︼紝浠ュ儚绱犱负鍗曚綅 int nMaxImageWidth; // 鏈�澶у浘鍍忓搴� diff --git a/csrc/buz/plate/detector.cpp b/csrc/buz/plate/detector.cpp index 17e2747..48cb2a5 100644 --- a/csrc/buz/plate/detector.cpp +++ b/csrc/buz/plate/detector.cpp @@ -35,8 +35,8 @@ } void init_plate_id_config(const cPlateIDCfg *params) { - int fMemSize = 0x8000; - int pMemSize = 200 * 1024 * 1024; + int fMemSize = params->nFastMemorySize * 1024; + int pMemSize = params->nMemorySize * 1024 * 1024; fmem = (unsigned char*)malloc(fMemSize * sizeof(unsigned char)); pmem = (unsigned char*)malloc(pMemSize * sizeof(unsigned char)); @@ -78,9 +78,11 @@ void set_enable_plate_format(const cPlateIDCfg *params) { if (params->bOnlyLocation == 1) { TH_SetEnabledPlateFormat(PARAM_ONLY_LOCATION_ON, &config); + return; } if (params->bOnlyTwoRowYellow == 1) { TH_SetEnabledPlateFormat(PARAM_ONLY_TWOROWYELLOW_ON, &config); + return; } if (params->bIndividual == 1) { TH_SetEnabledPlateFormat(PARAM_INDIVIDUAL_ON, &config); @@ -133,7 +135,7 @@ rcDetect.top = 0; rcDetect.right = img->width; rcDetect.bottom = img->height; - rcDetect.left = 0; + rcDetect.left = 0; int ret = TH_RecogImage((BYTE*)(img->data), img->width, img->height, result, &nResultNum, &rcDetect, &config); // printf("TH_RecogImage ret = %d\n", ret); diff --git a/go2c.go b/go2c.go index 6431f48..1139635 100644 --- a/go2c.go +++ b/go2c.go @@ -67,6 +67,8 @@ } type CPlateIDCfg struct { + FastMemorySize int32 // DSP绛夌殑鐗囧唴鍐呭瓨澶у皬 鍗曚綅K + MemorySize int32 // 鏅�氬唴瀛樺ぇ灏� 鍗曚綅 M MinPlateWidth int32 // 妫�娴嬬殑鏈�灏忚溅鐗屽搴︼紝浠ュ儚绱犱负鍗曚綅 MaxPlateWidth int32 // 妫�娴嬬殑鏈�澶ц溅鐗屽搴︼紝浠ュ儚绱犱负鍗曚綅 MaxImageWidth int32 // 鏈�澶у浘鍍忓搴� diff --git a/gosdk.go b/gosdk.go index c22a8ae..5f2088e 100644 --- a/gosdk.go +++ b/gosdk.go @@ -411,6 +411,43 @@ return allObjs, newObjs } +func DefaultPlateIDSDKConfig() *CPlateIDCfg{ + return &CPlateIDCfg{ + FastMemorySize: 32, + MemorySize: 400, + MinPlateWidth: 60, + MaxPlateWidth: 400, + MaxImageWidth: 4096, + MaxImageHeight: 2160, + IsFieldImage: 0, + MovingImage: 1, + OrderOpt: 0, + LeanCorrection: 1, + ImproveSpeed: 0, + CarLogo: 1, + LotDetect: 1, + Shadow: 1, + ShieldRailing: 1, + CarModel: 1, + LocateTh: 5, + OCRTh: 2, + + Individual: 1, + TwoRowYellow: 1, + ArmPolice: 1, + ArmPolice2: 1, + TwoRowArmy: 1, + Tractor: 1, + Embassy: 1, + ChangNei: 1, + MinHang: 1, + Consulate: 1, + NewEnergy: 1, + OnlyTwoRowYellow: 0, + OnlyLocation: 0, + } +} + // InitPlateIDDetector init plateid detector func InitPlateIDDetector(config *CPlateIDCfg, soPath []byte) { C.c_api_plate_id_init((*C.cPlateIDCfg)(unsafe.Pointer(config)), (*C.char)(unsafe.Pointer(&soPath[0]))) -- Gitblit v1.8.0