liuxiaolong
2019-08-31 e002c89ce09031360f4399c7d488fb3d01ddc296
add drawImage after faceExtract
1个文件已修改
22 ■■■■■ 已修改文件
controllers/fileController.go 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/fileController.go
@@ -10,7 +10,9 @@
    "fmt"
    "github.com/gin-gonic/gin"
    "github.com/satori/go.uuid"
    "gocv.io/x/gocv"
    "image"
    "image/color"
    "image/jpeg"
    "io/ioutil"
    "log"
@@ -141,7 +143,9 @@
            }
        }
        //2.大图画框,标识人脸位置
        originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", fileBytes)
        drawedB, _ := drawPolygonOnImg(pI, &faceArr)
        originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", *drawedB)
        resultMap["uploadImage"] = originFilePath
        resultMap["smImage"] = urlArr
        util.ResponseFormat(c,code.Success, resultMap)
@@ -150,6 +154,22 @@
    }
}
func drawPolygonOnImg(i *protomsg.Image,faceArr *[]*protomsg.ResultFaceDetect) (*[]byte,error) {
    rook, _ := gocv.NewMatFromBytes(int(i.Height), int(i.Width), gocv.MatTypeCV8UC3, i.Data)
    defer rook.Close()
    //yellow := color.RGBA{255, 255, 0, 0}
    red := color.RGBA{255, 0, 0, 0}
    for _,faceResult := range *faceArr {
        left := int(faceResult.Pos.RcFace.Left)
        top := int(faceResult.Pos.RcFace.Top)
        right := int(faceResult.Pos.RcFace.Right)
        bottom := int(faceResult.Pos.RcFace.Bottom)
        gocv.Rectangle(&rook, image.Rect(left,top,right,bottom), red, 1)
    }
    fData,err := gocv.IMEncode(".jpg", rook)
    return &fData,err
}
type CompareResult struct {
    Id string `json:"id"`
    CompareScore float32 `json:"compareScore"`