zhangmeng
2019-12-19 97dde5e30a7d0400cee08d4fa8bf6fd5e760ab9a
update
1个文件已修改
21 ■■■■■ 已修改文件
gohumantrack/gohumantrack.go 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gohumantrack/gohumantrack.go
@@ -109,7 +109,6 @@
    handle    unsafe.Pointer
    result    unsafe.Pointer
    batchSize int
    fakeImage unsafe.Pointer
}
// NewHumanTracker new
@@ -120,7 +119,7 @@
    p := C.c_human_tracker_create(C.int(gpu), C.int(batchSize), C.int(flag))
    if p != nil {
        res := C.init_fgres(C.int(batchSize))
        return &HumanTracker{p, res, batchSize, nil}
        return &HumanTracker{p, res, batchSize}
    }
    return nil
}
@@ -132,9 +131,6 @@
    }
    if h.result != nil {
        C.free(h.result)
    }
    if h.fakeImage != nil {
        C.free(h.fakeImage)
    }
}
@@ -192,17 +188,24 @@
        return nil, errors.New("create C images error")
    }
    defer C.free(cImgs)
    var freeFakeImage []unsafe.Pointer
    for k, v := range imgs {
        logo.Infoln("batch~~~~~~", k, " image: ", v)
        if v == nil {
            if h.fakeImage == nil {
                h.fakeImage = C.create_fake_image(C.int(wid * hei * chn))
            }
            C.fill_images(cImgs, C.int(h.batchSize), C.int(k), h.fakeImage, 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))
        } else {
            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 {