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