From eb47f1055b958438069fe6a96867835843ca595e Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 19 十二月 2019 15:15:50 +0800
Subject: [PATCH] dupate

---
 gohumantrack/gohumantrack.go |   28 +++++++++++-----------------
 1 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/gohumantrack/gohumantrack.go b/gohumantrack/gohumantrack.go
index 10ab9bd..1723e84 100644
--- a/gohumantrack/gohumantrack.go
+++ b/gohumantrack/gohumantrack.go
@@ -23,7 +23,6 @@
 	return imgs;
 }
 int fill_images(void *imgs, const int size, const int index, void *data, const int w, const int h, const int c){
-	if(!imgs || !data || size <= index) return -1;
 	c_img *images = (c_img*)imgs;
 	images[index].data_ = (unsigned char*)data;
 	images[index].w_ = w;
@@ -39,17 +38,15 @@
 	}
 	return ret;
 }
-void *process(void *handle, void *imgs, const int size, void *result){
+int process(void *handle, void *imgs, const int size, void *result){
 	c_img *images = (c_img*)imgs;
 	c_fgRet *res = (c_fgRet *)result;
-	int ret = c_human_tracker_process(handle, images, size, res);
-	if (ret != 0)
-		return NULL;
-	return res;
+	return c_human_tracker_process(handle, images, size, res);
 }
 */
 import "C"
 import (
+	"analysis/logo"
 	"errors"
 	"fmt"
 	"math"
@@ -156,8 +153,8 @@
 	}
 
 	cRet := C.process(h.handle, cImgs, C.int(h.batchSize), h.result)
-	if cRet == nil {
-		return nil, errors.New("create C results error")
+	if cRet != 0 {
+		return nil, fmt.Errorf("process error: %d", int(cRet))
 	}
 
 	var result []FgResult
@@ -181,24 +178,21 @@
 	}
 	defer C.free(cImgs)
 	for k, v := range imgs {
-		var ret C.int
+		logo.Infoln("batch~~~~~~", k, " image: ", v)
 		if v == nil {
-			ret = C.fill_images(cImgs, C.int(h.batchSize), C.int(k), nil, 0, 0, 0)
+			C.fill_images(cImgs, C.int(h.batchSize), C.int(k), nil, 0, 0, 0)
 		} else {
-			ret = C.fill_images(cImgs, C.int(h.batchSize), C.int(k), unsafe.Pointer(&v.Data[0]), C.int(v.Width), C.int(v.Height), C.int(v.Channel))
-		}
-		if int(ret) != k {
-			return nil, fmt.Errorf("fill C images error: %d", int(ret))
+			C.fill_images(cImgs, C.int(h.batchSize), C.int(k), unsafe.Pointer(&v.Data[0]), C.int(v.Width), C.int(v.Height), C.int(v.Channel))
 		}
 	}
 
 	cRet := C.process(h.handle, cImgs, C.int(h.batchSize), h.result)
-	if cRet == nil {
-		return nil, errors.New("create C results error")
+	if cRet != 0 {
+		return nil, fmt.Errorf("process image pointer error: %d", int(cRet))
 	}
 
 	var result []FgResult
-	p := uintptr(cRet)
+	p := uintptr(h.result)
 	for i := 0; i < h.batchSize; i++ {
 		j := *(*FgResult)(unsafe.Pointer(p))
 		result = append(result, j)

--
Gitblit v1.8.0