From 4d025c4a8c81c0bfdd159586528db0af72e6a6d6 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期五, 15 十一月 2019 13:55:48 +0800 Subject: [PATCH] update --- gosdk.go | 75 +++++++++++++++++++++++++++++++++++-- 1 files changed, 71 insertions(+), 4 deletions(-) diff --git a/gosdk.go b/gosdk.go index 4f9eb45..5f2088e 100644 --- a/gosdk.go +++ b/gosdk.go @@ -1,11 +1,11 @@ package gosdk /* -#cgo CFLAGS: -I. -I./sdk/face/include -I./sdk/darknet/include -I/usr/local/cuda/include -w -g -#cgo CXXFLAGS: -I. -I./sdk/face/include -I./sdk/darknet/include -I/usr/local/cuda/include -w -g -std=c++11 -#cgo LDFLAGS: -L/usr/local/cuda/lib64 -L${SRCDIR}/sdk/face/lib/gpu -L${SRCDIR}/sdk/darknet/lib +#cgo CFLAGS: -I. -I./sdk/face/include -I./sdk/darknet/include -I/usr/local/cuda/include -I./sdk/plate/include -w -g +#cgo CXXFLAGS: -I. -I./sdk/face/include -I./sdk/darknet/include -I/usr/local/cuda/include -I./sdk/plate/include -w -g -std=c++11 +#cgo LDFLAGS: -L/usr/local/cuda/lib64 -L${SRCDIR}/sdk/face/lib/gpu -L${SRCDIR}/sdk/darknet/lib -L${SRCDIR}/sdk/plate/lib #cgo LDFLAGS: -Wl,-rpath,${SRCDIR}/sdk/face/lib/gpu:${SRCDIR}/sdk/darknet/lib -#cgo LDFLAGS: -ldarknet -lTHFaceImage -lTHFeature -lTHFaceProperty -lTHFaceTracking -lcudart -lcublas -lcurand -lrt -ldl -lpthread +#cgo LDFLAGS: -ldarknet -lTHFaceImage -lTHFeature -lTHFaceProperty -lTHFaceTracking -lcudart -lcublas -lcurand -lrt -ldl -lpthread -lthplateid #include <stdlib.h> #include "csdk.h" */ @@ -67,6 +67,12 @@ func InitFaceTracker(tm, gi, w, h, maxFaces, interval, sample int) { C.c_api_face_tracker_init(C.int(tm), C.int(gi), C.int(w), C.int(h), C.int(maxFaces), C.int(interval), C.int(sample)) +} + +// ResizeFaceTracker init face tracker +func ResizeFaceTracker(ch, w, h int) int { + + return int(C.c_api_face_track_resize(C.int(ch), C.int(w), C.int(h))) } // Free free sdk @@ -404,3 +410,64 @@ *LastTrackID = id 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]))) +} + +// PlateIDDetect plateid detect +func PlateIDDetect(img SDKImage) []CPlateIDResult { + data := img.Data + w := img.Width + h := img.Height + + var count C.int + cppos := C.c_api_plate_id_detect(&count, (*C.uchar)(unsafe.Pointer(&data[0])), C.int(w), C.int(h)) + if cppos != nil { + defer C.free(unsafe.Pointer(cppos)) + return CPlateIDPosArrayToGoArray(unsafe.Pointer(cppos), int(count)) + } + return nil +} + +func FreePlateIdDetector() int{ + return int(C.c_api_plate_id_free()) +} \ No newline at end of file -- Gitblit v1.8.0