zhangzengfei
2024-06-05 171b45f8d78612e82c4923042ac8101e3f4a8f42
添加切小图的图像分辨率转换
2个文件已修改
27 ■■■■ 已修改文件
config/config.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
repository/captureRepo.go 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.go
@@ -47,8 +47,14 @@
    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"`
}
// 梯控设备
@@ -69,6 +75,7 @@
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.
@@ -99,6 +106,7 @@
    v.UnmarshalKey("rate-limit", RateLimitConf)
    v.UnmarshalKey("client", ClientConf)
    v.UnmarshalKey("nvcs", NVCSConf)
    v.UnmarshalKey("image", ImageConf)
    if LogConf.Level == "" {
        LogConf.Level = "info"
repository/captureRepo.go
@@ -37,6 +37,7 @@
        var deviceId = face.DeviceID
        var faceId = face.FaceID
        var bgImageStr, imageType string
        var bgImageWidth, bgImageHeight int
        var bgImageBytes, faceImageBytes []byte = nil, nil
        // 获取大图, 目前海康的小图分辨率太低
@@ -45,6 +46,8 @@
                continue
            }
            bgImageWidth = image.Width
            bgImageHeight = image.Height
            if len(image.Data) > 0 {
                if len(image.Data) > len(bgImageStr) {
                    bgImageStr = image.Data
@@ -69,12 +72,14 @@
        }
        // 判断图片类型是否为场景图, 根据人脸坐标切小图.
        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)