| | |
| | | ReportServer string `mapstructure:"report-server"` |
| | | ReportInterval int `mapstructure:"report-interval"` |
| | | RetryInterval int `mapstructure:"retry-interval"` |
| | | CutFaceImage bool `mapstructure:"cut-face-image"` |
| | | Enable bool `mapstructure:"enable"` |
| | | |
| | | Enable bool `mapstructure:"enable"` |
| | | } |
| | | |
| | | type image struct { |
| | | CutFaceImage bool `mapstructure:"cut-face-image"` |
| | | OriginWidth int `mapstructure:"origin-width"` |
| | | OriginHeight int `mapstructure:"origin-height"` |
| | | } |
| | | |
| | | // 梯控设备 |
| | |
| | | var RateLimitConf = &rateLimitConfig{} |
| | | var ClientConf = &client{} |
| | | var NVCSConf = &nvcs{} |
| | | var ImageConf = &image{} |
| | | |
| | | // Init is an exported method that takes the environment starts the viper |
| | | // (external lib) and returns the configuration struct. |
| | |
| | | v.UnmarshalKey("rate-limit", RateLimitConf) |
| | | v.UnmarshalKey("client", ClientConf) |
| | | v.UnmarshalKey("nvcs", NVCSConf) |
| | | v.UnmarshalKey("image", ImageConf) |
| | | |
| | | if LogConf.Level == "" { |
| | | LogConf.Level = "info" |
| | |
| | | var deviceId = face.DeviceID |
| | | var faceId = face.FaceID |
| | | var bgImageStr, imageType 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 imageType == "14" && config.ForwardConf.CutFaceImage { |
| | | if imageType == "14" && config.ImageConf.CutFaceImage { |
| | | scaleX := bgImageWidth / config.ImageConf.OriginWidth |
| | | scaleY := bgImageHeight / config.ImageConf.OriginHeight |
| | | faceRect := &vo.Rect{ |
| | | Left: face.LeftTopX, |
| | | Top: face.LeftTopY, |
| | | Right: face.RightBtmX, |
| | | Bottom: face.RightBtmY, |
| | | Left: face.LeftTopX * scaleX, |
| | | Top: face.LeftTopY * scaleY, |
| | | Right: face.RightBtmX * scaleX, |
| | | Bottom: face.RightBtmY * scaleY, |
| | | } |
| | | |
| | | faceImageBytes, err = util.SubCutImg(bgImageBytes, faceRect, 90) |