| | |
| | | yoloParam := protomsg.ParamYoloObj{} |
| | | err = proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam) |
| | | if err != nil { |
| | | fmt.Println("解析FACE sdk数据时出现错误", err) |
| | | continue |
| | | fmt.Println("解析YOLO sdk数据时出现错误", err) |
| | | //continue |
| | | } |
| | | for _, info := range yoloParam.Infos { |
| | | photoMap := ruleserver.PhotoMap{Rects:rectFormat(info.RcObj, i.Width, i.Height), Score: float64(info.Prob)} |
| | | photoMap := ruleserver.PhotoMap{Rects:rectFormat(info.RcObj), Score: float64(info.Prob)} |
| | | arg.Photo = append(arg.Photo, photoMap) |
| | | } |
| | | |
| | |
| | | faceParam := protomsg.ParamFacePos{} |
| | | err = proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) |
| | | if err != nil { |
| | | fmt.Println("解析YOLO sdk数据时出现错误", err) |
| | | fmt.Println("解析FACE sdk数据时出现错误", err) |
| | | continue |
| | | } |
| | | for _, info := range faceParam.Faces { |
| | |
| | | } |
| | | |
| | | // 将外部传进来的rect(top,bottom,left,right)转化为自己内部的rect(left top width height) |
| | | func rectFormat(rcobj *protomsg.Rect, width int32, height int32) ruleserver.Rect { |
| | | func rectFormat(rcobj *protomsg.Rect) ruleserver.Rect { |
| | | rect := ruleserver.Rect{} |
| | | rect.X = float64(rcobj.Left) |
| | | rect.Y = float64(rcobj.Top) |
| | | rect.Width = float64(width - rcobj.Left - rcobj.Right) |
| | | rect.Height = float64(height - rcobj.Top - rcobj.Bottom) |
| | | rect.Width = float64(rcobj.Right - rcobj.Left) |
| | | rect.Height = float64(rcobj.Bottom - rcobj.Top) |
| | | return rect |
| | | } |