派生自 libgowrapper/face

zhangmeng
2020-01-15 a646b6258e3265c218caa397638cc455da1844e7
debug
2个文件已修改
28 ■■■■■ 已修改文件
goface.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
run.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
goface.go
@@ -150,9 +150,13 @@
    if !s.extractor {
        return nil
    }
    s.printLog("->face--> facepos: ", fpos)
    var featLen C.int
    pos := (*C.cFacePos)(unsafe.Pointer(&fpos))
    if pos == nil {
        return nil
    }
    p := C.c_api_face_extract(&featLen, pos, (*C.uchar)(unsafe.Pointer(&data[0])), C.int(w), C.int(h), C.int(ch))
    if p != nil {
run.go
@@ -257,9 +257,9 @@
            // conv to bgr24 and resize
            imgW, imgH := int(i.Width), int(i.Height)
            f.fnLogger("Face~~~Track", dtchn)
            // f.fnLogger("Face~~~Track", dtchn)
            detect := f.handle.Track(i.Data, imgW, imgH, 3, dtchn)
            f.fnLogger("Face~~~Track Over", dtchn)
            // f.fnLogger("Face~~~Track Over", dtchn)
            var faces []*protomsg.ResultFaceDetect
@@ -267,25 +267,25 @@
            for _, d := range detect {
                //运行sd
                f.fnLogger("Face~~~FaceInfo2FacePos", dtchn)
                // f.fnLogger("Face~~~FaceInfo2FacePos", dtchn)
                dec := FaceInfo2FacePos(d)
                f.fnLogger("Face~~~FaceInfo2FacePos over", dtchn)
                // f.fnLogger("Face~~~FaceInfo2FacePos over", dtchn)
                f.fnLogger("Face~~~Propertize", dtchn)
                // f.fnLogger("Face~~~Propertize", dtchn)
                prop := f.handle.Propertize(dec, i.Data, imgW, imgH, 3, dtchn)
                f.fnLogger("Face~~~Propertize Over", dtchn)
                // f.fnLogger("Face~~~Propertize Over", dtchn)
                f.fnLogger("Face~~~Extract", dtchn)
                feat := f.handle.Extract(dec, i.Data, imgW, imgH, 3, dtchn)
                f.fnLogger("Face~~~Extract Over", dtchn)
                f.fnLogger("Face~~~protomsg.ThftResult", dtchn)
                // f.fnLogger("Face~~~protomsg.ThftResult", dtchn)
                resP := (*protomsg.ThftResult)(unsafe.Pointer(&prop))
                f.fnLogger("Face~~~protomsg.ThftResult Over", dtchn)
                // f.fnLogger("Face~~~protomsg.ThftResult Over", dtchn)
                f.fnLogger("Face~~~tconvert2ProtoFacePos", dtchn)
                // f.fnLogger("Face~~~tconvert2ProtoFacePos", dtchn)
                result := tconvert2ProtoFacePos(d)
                f.fnLogger("Face~~~tconvert2ProtoFacePos Over", dtchn)
                // f.fnLogger("Face~~~tconvert2ProtoFacePos Over", dtchn)
                //组成结果并序列化
                res := &protomsg.ResultFaceDetect{Pos: result, Result: resP, Feats: feat}
@@ -307,9 +307,9 @@
                }
            }
            f.fnLogger("Face~~~EjectResult", dtchn)
            // f.fnLogger("Face~~~EjectResult", dtchn)
            common.EjectResult(data, rMsg, out)
            f.fnLogger("Face~~~EjectResult Over", dtchn)
            // f.fnLogger("Face~~~EjectResult Over", dtchn)
            var id, name string
            if rMsg.Msg.Tasklab != nil {