From 8ec46c79655e7d9d4c729adb5f192c19fbdbb338 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 20 十二月 2019 13:36:34 +0800
Subject: [PATCH] update

---
 gohumantrack/gohumantrack.go |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/gohumantrack/gohumantrack.go b/gohumantrack/gohumantrack.go
index 7f79af3..685ff36 100644
--- a/gohumantrack/gohumantrack.go
+++ b/gohumantrack/gohumantrack.go
@@ -26,7 +26,7 @@
 void *create_fake_image(const int size){
 	unsigned char *img = (unsigned char*)malloc(size);
 	printf("batch~~~~~~ fake image len: %d\n", size);
-	memset(img, 255, size);
+	memset(img, 0, size);
 	return img;
 }
 
@@ -190,23 +190,32 @@
 	}
 	defer C.free(cImgs)
 
-	var freeFakeImage []unsafe.Pointer
+	// var freeFakeImage []unsafe.Pointer
+	// defer func(f []unsafe.Pointer) {
+	// 	for _, v := range f {
+	// 		C.free(v)
+	// 	}
+	// }(freeFakeImage)
 
+	var fakeImage *ImageHumanTracker
 	for k, v := range imgs {
 		if v == nil {
-			fake := C.create_fake_image(C.int(wid * hei * chn))
-			freeFakeImage = append(freeFakeImage, fake)
-			C.fill_images(cImgs, C.int(h.batchSize), C.int(k), fake, C.int(wid), C.int(hei), C.int(chn))
+			// fake := C.create_fake_image(C.int(wid * hei * chn))
+			// freeFakeImage = append(freeFakeImage, fake)
+			// C.fill_images(cImgs, C.int(h.batchSize), C.int(k), fake, C.int(wid), C.int(hei), C.int(chn))
+
+			v = fakeImage
+			logo.Infoln("batch~~~~~~ fake image len: ", len(v.Data), " size: ", v.Width, "x", v.Height, "x", v.Channel)
+			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))
+
 		} else {
+			if fakeImage == nil && v != nil {
+				fakeImage = v
+			}
 			logo.Infoln("batch~~~~~~ real image len: ", len(v.Data), " size: ", v.Width, "x", v.Height, "x", v.Channel)
 			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))
 		}
 	}
-	defer func(f []unsafe.Pointer) {
-		for _, v := range f {
-			C.free(v)
-		}
-	}(freeFakeImage)
 
 	cRet := C.process(h.handle, cImgs, C.int(h.batchSize), h.result)
 	if cRet != 0 {

--
Gitblit v1.8.0