| | |
| | | |
| | | prama := "{\"query\":{\"bool\":{\"filter\":[" + |
| | | cameraIdStr + |
| | | "{\"range\":{\"picDate\":{\"gte\":\"now+8h-5s\",\"lt\":\"now+8h\"}}}]}}," + |
| | | "{\"range\":{\"picDate\":{\"gte\":\"now+8h-5000s\",\"lt\":\"now+8h\"}}}]}}," + |
| | | "\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"size\":\"1000\"," + |
| | | "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"isAlarm\",\"analyServerIp\",\"cameraId\"]}" |
| | |
| | | defer file.Close() |
| | | field := "" |
| | | // weedfs 上传 |
| | | { |
| | | fileInfo, e := esutil.PostFormData(weedfsUri, filename, "file", file) |
| | | if e != nil { |
| | | fmt.Println(e.Error()) |
| | | return "", nil, e |
| | | } else { |
| | | field = fileInfo[picUrlField].(string) // 文件路径 |
| | | } |
| | | fileBytes, err := ioutil.ReadAll(file) |
| | | if err !=nil { |
| | | return "",nil,err |
| | | } |
| | | fmt.Println("fileBytes.len:",len(fileBytes)) |
| | | fileInfo, e := esutil.PostFormData(weedfsUri, filename, "file", file) |
| | | if e != nil { |
| | | fmt.Println(e.Error()) |
| | | return "", nil, e |
| | | } else { |
| | | field = fileInfo[picUrlField].(string) // 文件路径 |
| | | } |
| | | |
| | | if field != "" { |
| | | // 返回特征值 fileInfo["point"] = v.RcFace fileInfo["feature"] = feat |
| | | |
| | |
| | | field = field[idx+1:] |
| | | } |
| | | fmt.Println("field:",field) |
| | | imgB, _ := ioutil.ReadAll(file) |
| | | fmt.Println("img.length:",len(imgB)) |
| | | //imgB, _ := ioutil.ReadAll(file) |
| | | //fmt.Println("img.length:",len(imgB)) |
| | | |
| | | //将上传的图片交人脸检测和人脸提取,获得特征 |
| | | var faceBase64="" |
| | |
| | | } |
| | | } |
| | | |
| | | func getFaceFeaFromSdk(file multipart.File) ([]*protomsg.ResultFaceExtCom,error){ |
| | | s := service.NewFaceSdkService(file) |
| | | func getFaceFeaFromSdk(fileBytes []byte) ([]*protomsg.ResultFaceExtCom,error){ |
| | | s := service.NewFaceSdkService(fileBytes) |
| | | i, err := s.ReadFromUploadImg() |
| | | if err !=nil{ |
| | | fmt.Println("readFromUploadImg err:",err) |
| | |
| | | prama := "{\"query\":{\"bool\":{\"filter\":[" + |
| | | cameraIdStr + |
| | | taskIdStr + |
| | | "{\"range\":{\"picDate\":{\"gte\":\"now+8h-5s\",\"lt\":\"now+8h\"}}}]}}," + |
| | | "{\"range\":{\"picDate\":{\"gte\":\"now+8h-5000s\",\"lt\":\"now+8h\"}}}]}}," + |
| | | "\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"size\":\"1000\"," + |
| | | "\"_source\":[\"baseInfo\",\"gender\",\"indeviceName\",\"sdkType\",\"ageDescription\",\"content\",\"ID\",\"picAddress\",\"picMaxUrl\",\"picDate\",\"race\",\"videoNum\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"IDCard\",\"videoIp\",\"cameraId\"]}" |
| | |
| | | "github.com/pkg/errors" |
| | | "github.com/satori/go.uuid" |
| | | "gocv.io/x/gocv" |
| | | "io/ioutil" |
| | | "mime/multipart" |
| | | "sync" |
| | | "time" |
| | | ) |
| | | |
| | | type FaceSdkService struct { |
| | | File *multipart.File |
| | | File []byte |
| | | Id string |
| | | Result []*protomsg.ResultFaceExtCom |
| | | } |
| | |
| | | Url_Service_PULL = Ipc_Url_Pre + Virtual_FaceSdkId + Ipc_Pull_Ext |
| | | ) |
| | | |
| | | func NewFaceSdkService(file multipart.File) FaceSdkService{ |
| | | func NewFaceSdkService(fileBytes []byte) FaceSdkService{ |
| | | return FaceSdkService{ |
| | | File:&file, |
| | | File:fileBytes, |
| | | Id:uuid.NewV4().String(), |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | func (s *FaceSdkService) ReadFromUploadImg() (*protomsg.Image,error){ |
| | | defer (*(s.File)).Close() |
| | | imgB, err := ioutil.ReadAll(*(s.File)) |
| | | if err !=nil{ |
| | | fmt.Println("File.Read err:",err) |
| | | return nil,err |
| | | } |
| | | //defer (*(s.File)).Close() |
| | | //imgB, err := ioutil.ReadAll(*(s.File)) |
| | | //if err !=nil{ |
| | | // fmt.Println("File.Read err:",err) |
| | | // return nil,err |
| | | //} |
| | | |
| | | picMat, err := gocv.IMDecode(imgB, gocv.IMReadColor) |
| | | picMat, err := gocv.IMDecode(s.File, gocv.IMReadColor) |
| | | if err !=nil { |
| | | fmt.Println("gocv.IMDecode err:",err) |
| | | return nil,err |