| | |
| | | "log" |
| | | "mime/multipart" |
| | | "net/http" |
| | | "strconv" |
| | | "strings" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/esutil" |
| | | "webserver/extend/util" |
| | | "webserver/models" |
| | |
| | | |
| | | //var picUrlField = "fid" |
| | | /**上传方法**/ |
| | | var weedfsUri = "http://192.168.1.182:6333/submit" |
| | | var weedfsUri = "http://"+config.WeedFs.Ip+":"+strconv.Itoa(config.WeedFs.UploadPort)+"/submit" |
| | | |
| | | //var weedfsUri = "http://192.168.1.182:9500/submit" |
| | | |
| | |
| | | |
| | | //将上传的图片交人脸检测和人脸提取,获得特征 |
| | | fileBytes, _ := ioutil.ReadAll(file) |
| | | faceExtArr, err, pI := getFaceFeaFromSdk(fileBytes) |
| | | if err ==nil && len(faceExtArr) >0 { |
| | | faceArr, err, pI := service.GetFaceFeaFromSdk(fileBytes) |
| | | if err ==nil && len(faceArr) >0 { |
| | | var faceBase64= "" |
| | | var field = "" |
| | | var rcFace *protomsg.Rect |
| | | for _,r := range faceExtArr { |
| | | rcFace = r.Pos.Pos.RcFace |
| | | for _,r := range faceArr { |
| | | rcFace = r.Pos.RcFace |
| | | faceBase64 = base64.StdEncoding.EncodeToString(r.Feats)//获取提取到的第一张人脸特征 |
| | | break |
| | | } |
| | |
| | | |
| | | //将上传的图片交人脸检测和人脸提取,获得特征 |
| | | var faceBase64="" |
| | | faceExtArr, err,pI := getFaceFeaFromSdk(fileBytes) |
| | | if faceExtArr ==nil { |
| | | faceArr, err,pI := service.GetFaceFeaFromSdk(fileBytes) |
| | | if faceArr ==nil { |
| | | return "",nil,errors.New("NotFeatureFindError") |
| | | } |
| | | var rcFace *protomsg.Rect |
| | | if err ==nil && len(faceExtArr) >0 { |
| | | for _,r := range faceExtArr { |
| | | if err ==nil && len(faceArr) >0 { |
| | | for _,r := range faceArr { |
| | | //拿到人脸的坐标 |
| | | rcFace = r.Pos.Pos.RcFace |
| | | rcFace = r.Pos.RcFace |
| | | |
| | | faceBase64 = base64.StdEncoding.EncodeToString(r.Feats)//获取提取到的第一张人脸特征 |
| | | break |
| | |
| | | |
| | | } |
| | | |
| | | func getFaceFeaFromSdk(fileBytes []byte) ([]*protomsg.ResultFaceExtCom,error,*protomsg.Image){ |
| | | s := service.NewFaceSdkService(fileBytes) |
| | | i, err := s.ReadFromUploadImg() |
| | | if err !=nil{ |
| | | fmt.Println("readFromUploadImg err:",err) |
| | | return nil,err,i |
| | | } |
| | | bc, err := service.ImgCompress(i) |
| | | if err !=nil { |
| | | fmt.Println("ImgCompress err:",err) |
| | | return nil,err,i |
| | | } |
| | | s.PushImgMsg(bc) |
| | | s.GetFaceFea() |
| | | if s.Result == nil{ |
| | | return nil,errors.New("no fea"),i |
| | | } else { |
| | | return s.Result,nil,i |
| | | } |
| | | } |
| | | //func getFaceFeaFromSdk(fileBytes []byte) ([]*protomsg.ResultFaceExtCom,error,*protomsg.Image){ |
| | | // s := service.NewFaceSdkService(fileBytes) |
| | | // i, err := s.ReadFromUploadImg() |
| | | // if err !=nil{ |
| | | // fmt.Println("readFromUploadImg err:",err) |
| | | // return nil,err,i |
| | | // } |
| | | // bc, err := service.ImgCompress(i) |
| | | // if err !=nil { |
| | | // fmt.Println("ImgCompress err:",err) |
| | | // return nil,err,i |
| | | // } |
| | | // s.PushImgMsg(bc) |
| | | // s.GetFaceFea() |
| | | // if s.Result == nil{ |
| | | // return nil,errors.New("no fea"),i |
| | | // } else { |
| | | // return s.Result,nil,i |
| | | // } |
| | | //} |
| | | |
| | | /**上传方法**/ |
| | | |