| | |
| | | import ( |
| | | "encoding/base64" |
| | | "encoding/json" |
| | | "gat1400Exchange/pkg" |
| | | "time" |
| | | |
| | | "gat1400Exchange/client" |
| | | "gat1400Exchange/config" |
| | | "gat1400Exchange/models" |
| | | "gat1400Exchange/pkg" |
| | | "gat1400Exchange/pkg/logger" |
| | | "gat1400Exchange/util" |
| | | "gat1400Exchange/vo" |
| | |
| | | var deviceId = face.DeviceID |
| | | var faceId = face.FaceID |
| | | var bgImageStr string |
| | | var bgImageWidth, bgImageHeight int |
| | | var bgImageBytes, faceImageBytes []byte = nil, nil |
| | | |
| | | // 获取大图, 目前海康的小图分辨率太低 |
| | |
| | | continue |
| | | } |
| | | |
| | | bgImageWidth = image.Width |
| | | bgImageHeight = image.Height |
| | | if len(image.Data) > 0 { |
| | | if len(image.Data) > len(bgImageStr) { |
| | | bgImageStr = image.Data |
| | |
| | | } |
| | | |
| | | // 判断图片类型是否为场景图, 根据人脸坐标切小图. |
| | | if config.ImageConf.CutFaceImage { |
| | | scaleX := float64(bgImageWidth) / config.ImageConf.OriginWidth |
| | | scaleY := float64(bgImageHeight) / config.ImageConf.OriginHeight |
| | | faceRect := &vo.Rect{ |
| | | Left: int(float64(face.LeftTopX) * scaleX), |
| | | Top: int(float64(face.LeftTopY) * scaleY), |
| | | Right: int(float64(face.RightBtmX) * scaleX), |
| | | Bottom: int(float64(face.RightBtmY) * scaleY), |
| | | if config.ImageConf.CutFaceImage && face.LeftTopX != 0 { |
| | | faceRect := &pkg.Rect{ |
| | | Left: face.LeftTopX, |
| | | Top: face.LeftTopY, |
| | | Right: face.RightBtmX, |
| | | Bottom: face.RightBtmY, |
| | | } |
| | | |
| | | faceImageBytes, err = util.SubCutImg(bgImageBytes, faceRect, 90) |
| | | faceImageBytes, err = pkg.SubCutImage(bgImageBytes, faceRect, config.ImageConf.Enlarge) |
| | | if err != nil { |
| | | logger.Warn("Cut face image failure, %s", err.Error()) |
| | | } |
| | |
| | | c.CacheData(cacheItem, "basic") |
| | | logger.Warn("The data forwarding failed, adding to local cache.") |
| | | } else { |
| | | logger.Debug("The data forwarding successful. deviceId:%s", deviceId) |
| | | logger.Debug("The data forwarding successful. deviceId:%s, picId:", deviceId, face.FaceID) |
| | | } |
| | | } |
| | | } |