From 5c3cfd092cf6fc9c1aec5027a5ed97eaa1a13c6f Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 04 七月 2019 19:36:09 +0800 Subject: [PATCH] 加上给目标画框,解析底库数据 --- main.go | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 5f43081..d9e1bf2 100644 --- a/main.go +++ b/main.go @@ -1,25 +1,39 @@ package main import ( + "basic.com/dbapi.git" "basic.com/pubsub/protomsg.git" "basic.com/valib/deliver.git" "bufio" "bytes" + "flag" "fmt" "github.com/golang/protobuf/proto" "gocv.io/x/gocv" "image" "image/color" + "log" "os" + "ruleprocess/cache" "ruleprocess/insertdata" "ruleprocess/ruleserver" "ruleprocess/util" "sync" ) - +var dbIp = flag.String("dbIp","127.0.0.1","dbserver ip") +var dbPort = flag.Int("dbPort",8001,"default dbPort=8001") +var surveyPort = flag.Int("surveyPort",40007,"survey port") //蹇冭烦 +var pubPort = flag.Int("pubPort",50007,"pubsub port") //鏁版嵁鏇存柊 +var initchan = make(chan bool) func main() { + flag.Parse() wg := sync.WaitGroup{} wg.Add(1) + + dbapi.Init(*dbIp,*dbPort) + go cache.Init(initchan,*dbIp,*surveyPort,*pubPort) + fmt.Println("cache init completed!!!",<- initchan)//dbserver鍒濆鍖栧畬姣� + go ruleserver.TimeTicker() nReciever("ipc:///tmp/sdk-2-rules-process.ipc", deliver.PushPull, 1) wg.Wait() @@ -96,7 +110,7 @@ } i := protomsg.Image{} err = proto.Unmarshal(bdata, &i) - + log.Println("----------------鐪嬬湅鏈夊嚑涓畻娉曪細",len(m.Tasklab.Sdkinfos)) for _, sdkinfo := range m.Tasklab.Sdkinfos { // yolo绠楁硶 if sdkinfo.Sdktype == "Yolo" { arg := ruleserver.SdkData{} @@ -117,13 +131,13 @@ arg.IsStatic = false if len(sdkinfo.Sdkdata) > 1 { // 澶т簬1鎵嶆湁鏁版嵁 - fmt.Println("----------------------------------------------------",m.Cid) yoloParam := protomsg.ParamYoloObj{} err = proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam) if err != nil { fmt.Println("瑙f瀽YOLO sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err) continue } + log.Println("------褰撳墠绠楁硶name",sdkinfo.SdkName,"--------------鐪嬬湅yolo涓湁鍑犱釜鐩爣锛�",len(yoloParam.Infos)) for _, info := range yoloParam.Infos { if info.Typ == 0 { photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.RcObj), Score: float64(info.Prob)*100,IsYolo:true} @@ -154,13 +168,13 @@ arg.KeepRight = false arg.IsStatic = false if len(sdkinfo.Sdkdata) > 1 { - fmt.Println("----------------------------------------------------",m.Caddr) faceParam := protomsg.ParamFacePos{} err = proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) if err != nil { fmt.Println("瑙f瀽FACE sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err) continue } + log.Println("------褰撳墠绠楁硶name",sdkinfo.SdkName,"--------------鐪嬬湅浜鸿劯妫�娴嬩腑鏈夊嚑涓洰鏍囷細",len(faceParam.Faces)) for _, info := range faceParam.Faces { photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.Pos.RcFace), Score: float64(info.Pos.Quality)*100, IsYolo:false,ThftRes:*(info.Result)} arg.Photo = append(arg.Photo, photoMap) @@ -188,13 +202,13 @@ arg.KeepRight = false arg.IsStatic = false if len(sdkinfo.Sdkdata) > 1 { - fmt.Println("----------------------------------------------------",m.Caddr) faceParam := protomsg.ParamFaceFeature{} err = proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) if err != nil { fmt.Println("瑙f瀽FACE sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err) continue } + log.Println("------褰撳墠绠楁硶name",sdkinfo.SdkName,"--------------鐪嬬湅浜鸿劯鎻愬彇涓湁鍑犱釜鐩爣锛�",len(faceParam.ExtComp)) for _, extComp := range faceParam.ExtComp { baseinfos := protomsg.Binfos{} err1 := proto.Unmarshal(extComp.Comp, &baseinfos) @@ -210,6 +224,18 @@ continue } } + if sdkinfo.Sdktype == "FaceCompare" { + faceParam := protomsg.ParamFaceFeature{} + for _,faceExtCom := range faceParam.ExtComp { + binfos := protomsg.Binfos{} + err := proto.Unmarshal(faceExtCom.Comp, &binfos) + if err != nil { + fmt.Println("瑙f瀽浜鸿劯姣斿鏁版嵁鏃跺嚭鐜伴敊璇�", err) + continue + } + log.Println("_________________________________________________________________瑙f瀽鍑虹殑浜鸿劯鐨勭浉浼肩殑搴曞簱鏁版嵁",binfos) + } + } } return m -- Gitblit v1.8.0