Documentation ¶
Index ¶
- Constants
- type Attributes
- type CompareFaceResponse
- type DetectFaceResponse
- type Face
- type FaceAPIRequest
- type FaceCompare
- func (fc *FaceCompare) End() (*CompareFaceResponse, string, error)
- func (fc *FaceCompare) SetFace1(face1, dt string) *FaceCompare
- func (fc *FaceCompare) SetFace2(face2, dt string) *FaceCompare
- func (fc *FaceCompare) SetOption(key string, val interface{}) *FaceCompare
- func (fc *FaceCompare) SetOptionMap(options map[string]interface{}) *FaceCompare
- type FaceDetect
- type FaceError
- type FaceRequest
- type FaceResponse
- type FaceSDK
- func (sdk *FaceSDK) Compare(options ...map[string]interface{}) (*FaceCompare, error)
- func (sdk *FaceSDK) Detect(options ...map[string]interface{}) (*FaceDetect, error)
- func (sdk *FaceSDK) Face(options ...map[string]interface{}) (*FaceAPIRequest, error)
- func (sdk *FaceSDK) FaceSet(options ...map[string]interface{}) (*FaceSetRequest, error)
- func (sdk *FaceSDK) Search(options ...map[string]interface{}) (*SearchRequest, error)
- type FaceSetAddFaceFaceResponse
- type FaceSetBaseFaceResponse
- type FaceSetCreateFaceResponse
- type FaceSetDeleteFaceFaceResponse
- type FaceSetGetDetailFaceFaceResponse
- type FaceSetGetFaceSetsFaceFaceResponse
- type FaceSetRemoveFaceFaceResponse
- type FaceSetRequest
- func (fsr *FaceSetRequest) AddFace() *FaceSetRequest
- func (fsr *FaceSetRequest) Create() *FaceSetRequest
- func (fsr *FaceSetRequest) Delete() *FaceSetRequest
- func (fsr *FaceSetRequest) End() (interface{}, string, error)
- func (fsr *FaceSetRequest) GetDetail() *FaceSetRequest
- func (fsr *FaceSetRequest) GetFaceSets() *FaceSetRequest
- func (fsr *FaceSetRequest) RemoveFace() *FaceSetRequest
- func (fsr *FaceSetRequest) SetOption(key string, val interface{}) *FaceSetRequest
- func (fsr *FaceSetRequest) SetOptionMap(options map[string]interface{}) *FaceSetRequest
- func (fsr *FaceSetRequest) Update() *FaceSetRequest
- type FaceSetUpdateFaceFaceResponse
- type Faceset
- type FailureDetail
- type Landmark
- type SearchFaceResponse
- type SearchRequest
- func (sc *SearchRequest) End() (*SearchFaceResponse, string, error)
- func (sc *SearchRequest) SetFace(face, dt string) *SearchRequest
- func (sc *SearchRequest) SetFaceSet(set, dt string) *SearchRequest
- func (sc *SearchRequest) SetOption(key string, val interface{}) *SearchRequest
- func (sc *SearchRequest) SetOptionMap(options map[string]interface{}) *SearchRequest
- type SearchResults
Constants ¶
const (
APIBaseURL = "https://api-cn.faceplusplus.com/facepp/v3"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Attributes ¶
type Attributes struct { Gender struct { Value string `json:"value"` // 性别值 } `json:"gender"` // 性别 Male男|Female女 Age struct { Value int `json:"value"` // 年龄值 } `json:"age"` // 年龄分析结果。返回值为一个非负整数 Smile struct { Value float32 `json:"value"` // 值为一个 [0,100] 的浮点数,小数点后3位有效数字。数值越大表示笑程度高 Threshold float32 `json:"threshold"` // 代表笑容的阈值,超过该阈值认为有笑容 } `json:"smile"` // 笑容分析结果 Headpose struct { PitchAngle float64 `json:"pitch_angle"` // 抬头 RollAngle float64 `json:"roll_angle"` // 旋转(平面旋转) YawAngle float64 `json:"yaw_angle"` // 摇头 } `json:"headpose"` // 人脸姿势分析结果 Eyestatus struct { LeftEyeStatus map[string]float32 `json:"left_eye_status"` // 左眼的状态 RightEyeStatus map[string]float32 `json:"right_eye_status"` // 右眼的状态 } `json:"eyestatus"` // 眼睛状态信息 Emotion map[string]float32 `json:"emotion"` // 情绪识别结果, map下标对应值 anger|愤怒 disgust|厌恶 fear|恐惧 happiness|高兴 neutral|平静 sadness|伤心 surprise|惊讶 Facequality struct { Value float32 `json:"value"` // 值为人脸的质量判断的分数,是一个浮点数,范围 [0,100],小数点后 3 位有效数字 Threshold float32 `json:"threshold"` // 表示人脸质量基本合格的一个阈值,超过该阈值的人脸适合用于人脸比对 } `json:"facequality"` // 人脸质量判断结果 Ethnicity struct { Value string `json:"value"` // 人种值 } `json:"ethnicity"` // 人种分析结果 Asian|亚洲人 White|白人 Black|黑人 Beauty struct { MaleScore float32 `json:"male_score"` // 男性认为的此人脸颜值分数。值越大,颜值越高 FemaleScore float32 `json:"female_score"` // 女性认为的此人脸颜值分数。值越大,颜值越高 } `json:"beauty"` // 颜值识别结果 Mouthstatus map[string]float32 `json:"mouthstatus"` // 嘴部状态信息 Eyegaze struct { LeftEyeGaze map[string]float32 `json:"left_eye_gaze"` // 左眼的位置与视线状态 RightEyeGaze map[string]float32 `json:"right_eye_gaze"` // 右眼的位置与视线状态 } `json:"eyegaze"` // 眼球位置与视线方向信息 Skinstatus map[string]float32 `json:"skinstatus"` // 面部特征识别结果 health:健康 stain:色斑 acne:青春痘 dark_circle:黑眼圈 }
Attributes 人脸属性特征
type CompareFaceResponse ¶
type CompareFaceResponse struct { FaceResponse Confidence float32 `json:"confidence"` Thresholds map[string]float32 `json:"thresholds"` ImageId1 string `json:"image_id1"` ImageId2 string `json:"image_id2"` Faces1 []*Face `json:"faces1"` Faces2 []*Face `json:"faces2"` }
CompareFaceResponse 人脸对比响应数据
type DetectFaceResponse ¶
type DetectFaceResponse struct { FaceResponse ImageId string `json:"image_id"` // 被检测的图片在系统中的标识 Faces []*Face `json:"faces"` // 被检测出的人脸数组,具体包含内容见下文 注:如果没有检测出人脸则为空数组 }
DetectFaceResponse 人脸检测响应数据
type Face ¶
type Face struct { FaceToken string `json:"face_token"` // 人脸的标识 FaceRectangle struct { Top int `json:"top"` Left int `json:"left"` Width int `json:"width"` Height int `json:"height"` } `json:"face_rectangle"` // 人脸矩形框的位置,包括以下属性 Landmark map[string]*Landmark `json:"landmark"` // 人脸的关键点坐标数组 Attributes *Attributes `json:"attributes"` // 人脸属性特征,具体包含的信息见下表 }
Face 数组中单个元素的结构
type FaceAPIRequest ¶
type FaceAPIRequest struct { FaceRequest // contains filtered or unexported fields }
FaceAPIRequest FaceSet管理对象
func (*FaceAPIRequest) SetOption ¶
func (far *FaceAPIRequest) SetOption(key string, val interface{}) *FaceAPIRequest
SetOption 设置请求参数
func (*FaceAPIRequest) SetOptionMap ¶
func (far *FaceAPIRequest) SetOptionMap(options map[string]interface{}) *FaceAPIRequest
SetOptionMap 通过map设置请求参数
type FaceCompare ¶
type FaceCompare struct {
FaceRequest
}
FaceCompare 人脸比对对象
func (*FaceCompare) End ¶
func (fc *FaceCompare) End() (*CompareFaceResponse, string, error)
End 发送请求获取结果
func (*FaceCompare) SetFace1 ¶
func (fc *FaceCompare) SetFace1(face1, dt string) *FaceCompare
SetFace1 设置第一张照片 dt可以是(face_token1|image_url1|image_file1|image_base64_1)
func (*FaceCompare) SetFace2 ¶
func (fc *FaceCompare) SetFace2(face2, dt string) *FaceCompare
SetFace2 设置第二张照片 dt可以是(face_token2|image_url2|image_file2|image_base64_2)
func (*FaceCompare) SetOption ¶
func (fc *FaceCompare) SetOption(key string, val interface{}) *FaceCompare
SetOption 设置请求参数
func (*FaceCompare) SetOptionMap ¶
func (fc *FaceCompare) SetOptionMap(options map[string]interface{}) *FaceCompare
SetOptionMap 通过map设置请求参数
type FaceDetect ¶
type FaceDetect struct {
FaceRequest
}
FaceDetect 人脸检测和人脸分析对象
func (*FaceDetect) End ¶
func (fd *FaceDetect) End() (*DetectFaceResponse, string, error)
End 发送请求获取结果
func (*FaceDetect) SetImage ¶
func (fd *FaceDetect) SetImage(img, dt string) *FaceDetect
SetImage 设置图片信息 dt可以是(image_url|image_file|image_base64)
func (*FaceDetect) SetOption ¶
func (fd *FaceDetect) SetOption(key string, val interface{}) *FaceDetect
SetOption 设置请求参数
func (*FaceDetect) SetOptionMap ¶
func (fd *FaceDetect) SetOptionMap(options map[string]interface{}) *FaceDetect
SetOptionMap 通过map设置请求参数
type FaceError ¶
type FaceError struct { Code int `json:"code"` // 错误状态码 ErrorMessage string `json:"error_message"` // 接口返回错误 Message string `json:"message"` // 错误描述 }
FaceError 用于返回错误信息给调用方
type FaceRequest ¶
type FaceRequest struct {
// contains filtered or unexported fields
}
FaceRequest 请求操作对象
type FaceResponse ¶
type FaceResponse struct { RequestId string `json:"request_id"` // 用于区分每一次请求的唯一的字符串。此字符串可以用于后续数据反查。 TimeUsed int `json:"time_used"` // 整个请求所花费的时间,单位为毫秒。 ErrorMessage string `json:"error_message"` // 当请求失败时才会返回此字符串,具体返回内容见后续错误信息章节。否则此字段不存在。 }
FaceResponse 接口返回数据结构体
type FaceSDK ¶
FaceSDK Face++ sdk 对象
func NewFaceSDK ¶
*
- NewFaceSDK 创建一个sdk对象,用于操作sdk
- @param apiKey API Key
- @param apiSecret API Secret
- @param formal 是否是正式版 API Key
func (*FaceSDK) Compare ¶
func (sdk *FaceSDK) Compare(options ...map[string]interface{}) (*FaceCompare, error)
Compare 构建一个人脸比对对象
func (*FaceSDK) Detect ¶
func (sdk *FaceSDK) Detect(options ...map[string]interface{}) (*FaceDetect, error)
Detect 构建一个人脸检测和人脸分析对象
func (*FaceSDK) Face ¶
func (sdk *FaceSDK) Face(options ...map[string]interface{}) (*FaceAPIRequest, error)
Face 人脸分析对象
type FaceSetAddFaceFaceResponse ¶
type FaceSetAddFaceFaceResponse struct {
FaceSetCreateFaceResponse
}
FaceSetAddFaceFaceResponse 添加人脸标识face_token响应数据,和创建FaceSet相同
type FaceSetBaseFaceResponse ¶
type FaceSetBaseFaceResponse struct { FaceResponse FacesetToken string `json:"faceset_token"` // FaceSet 的标识 OuterId string `json:"outer_id"` // 用户自定义的 FaceSet 标识,如果未定义则返回值为空 FaceCount int `json:"face_count"` // 操作结束后 FaceSet 中的 face_token 总数量 FailureDetail []*FailureDetail `json:"failure_detail"` // 无法被加入 FaceSet 的 face_token 以及原因 }
FaceSetBaseFaceResponse 基础响应结构
type FaceSetCreateFaceResponse ¶
type FaceSetCreateFaceResponse struct { FaceSetBaseFaceResponse FaceAdded int `json:"face_added"` // 本次操作成功加入 FaceSet的face_token 数量 }
FaceSetCreateFaceResponse 创建人脸集合FaceSet响应数据
type FaceSetDeleteFaceFaceResponse ¶
type FaceSetDeleteFaceFaceResponse struct { FaceResponse FacesetToken string `json:"faceset_token"` // FaceSet 的标识 OuterId string `json:"outer_id"` // 用户自定义的 FaceSet 标识,如果未定义则返回值为空 }
FaceSetDeleteFaceFaceResponse 删除一个人脸集合响应
type FaceSetGetDetailFaceFaceResponse ¶
type FaceSetGetDetailFaceFaceResponse struct { FaceResponse FacesetToken string `json:"faceset_token"` // FaceSet 的标识 OuterId string `json:"outer_id"` // 用户自定义的 FaceSet 标识,如果未定义则返回值为空 DisplayName string `json:"display_name"` // 人脸集合的名字 UserData string `json:"user_data"` // 自定义用户信息 Tags string `json:"tags"` // 自定义标签 FaceCount int `json:"face_count"` // 操作结束后 FaceSet 中的 face_token 总数量 FaceTokens []string `json:"face_tokens"` // face_token的数组 Next string `json:"next"` // 用于进行下一次请求。返回值表示排在此次返回的所有 face_token 之后的下一个 face_token 的序号 }
FaceSetGetDetailFaceFaceResponse 获取一个 FaceSet 的所有信息响应
type FaceSetGetFaceSetsFaceFaceResponse ¶
type FaceSetGetFaceSetsFaceFaceResponse struct { FaceResponse Facesets []*Faceset `json:"facesets"` // 该 API Key 下的 FaceSet 信息 Next string `json:"next"` // 用于进行下一次请求。返回值表示排在此次返回的所有 face_token 之后的下一个 face_token 的序号 }
FaceSetGetFaceSetsFaceFaceResponse 获取某一 API Key 下的 FaceSet 列表响应
type FaceSetRemoveFaceFaceResponse ¶
type FaceSetRemoveFaceFaceResponse struct { FaceSetBaseFaceResponse FaceRemoved int `json:"face_removed"` // 成功从FaceSet中移除的face_token数量 }
FaceSetRemoveFaceFaceResponse 移除一个FaceSet中的某些或者全部face_token响应
type FaceSetRequest ¶
type FaceSetRequest struct { FaceRequest // contains filtered or unexported fields }
FaceSetRequest FaceSet管理对象
func (*FaceSetRequest) AddFace ¶
func (fsr *FaceSetRequest) AddFace() *FaceSetRequest
AddFace 添加人脸标识 face_token到FaceSet
func (*FaceSetRequest) End ¶
func (fsr *FaceSetRequest) End() (interface{}, string, error)
End 发送请求获取结果
func (*FaceSetRequest) GetDetail ¶
func (fsr *FaceSetRequest) GetDetail() *FaceSetRequest
GetDetail 更新一个人脸集合的属性
func (*FaceSetRequest) GetFaceSets ¶
func (fsr *FaceSetRequest) GetFaceSets() *FaceSetRequest
GetFaceSets 获取某一 API Key 下的 FaceSet 列表
func (*FaceSetRequest) RemoveFace ¶
func (fsr *FaceSetRequest) RemoveFace() *FaceSetRequest
RemoveFace 移除一个FaceSet中的某些或者全部face_token
func (*FaceSetRequest) SetOption ¶
func (fsr *FaceSetRequest) SetOption(key string, val interface{}) *FaceSetRequest
SetOption 设置请求参数
func (*FaceSetRequest) SetOptionMap ¶
func (fsr *FaceSetRequest) SetOptionMap(options map[string]interface{}) *FaceSetRequest
SetOptionMap 通过map设置请求参数
func (*FaceSetRequest) Update ¶
func (fsr *FaceSetRequest) Update() *FaceSetRequest
Update 更新一个人脸集合的属性
type FaceSetUpdateFaceFaceResponse ¶
type FaceSetUpdateFaceFaceResponse struct { FaceResponse FacesetToken string `json:"faceset_token"` // FaceSet 的标识 OuterId string `json:"outer_id"` // 用户自定义的 FaceSet 标识,如果未定义则返回值为空 }
FaceSetUpdateFaceFaceResponse 更新一个人脸集合的属性响应
type Faceset ¶
type Faceset struct { FacesetToken string `json:"faceset_token"` // FaceSet 的标识 OuterId string `json:"outer_id"` // 用户自定义的 FaceSet 标识,如果未定义则返回值为空 DisplayName string `json:"display_name"` // FaceSet的名字,如果未提供为空 Tags string `json:"tags"` // FaceSet的标签,如果未提供为空 }
Faceset FaceSet数组中单个元素的结构
type FailureDetail ¶
type FailureDetail struct { Reason string `json:"reason"` // 不能被添加的原因,包括 INVALID_FACE_TOKEN 人脸表示不存在 ,QUOTA_EXCEEDED 已达到 FaceSet 存储上限 FaceToken string `json:"face_token"` // 人脸标识 }
FailureDetail 不能被添加的原因
type SearchFaceResponse ¶
type SearchFaceResponse struct { FaceResponse Results []*SearchResults `json:"results"` // 搜索结果对象数组 Thresholds map[string]float32 `json:"thresholds"` // 一组用于参考的置信度阈值 ImageId string `json:"image_id"` // 传入的图片在系统中的标识 Faces []*Face `json:"faces"` // 传入的图片中检测出的人脸数组 }
SearchFaceResponse 搜索接口返响应数据
type SearchRequest ¶
type SearchRequest struct {
FaceRequest
}
SearchRequest 人脸搜索对象
func (*SearchRequest) End ¶
func (sc *SearchRequest) End() (*SearchFaceResponse, string, error)
End 发送请求获取结果
func (*SearchRequest) SetFace ¶
func (sc *SearchRequest) SetFace(face, dt string) *SearchRequest
SetFace 设置要搜索的图片 dt可以是(face_token|image_url|image_file|image_base64)
func (*SearchRequest) SetFaceSet ¶
func (sc *SearchRequest) SetFaceSet(set, dt string) *SearchRequest
SetFaceSet 设置要查找的faceset dt可以是(faceset_token|outer_id)
func (*SearchRequest) SetOption ¶
func (sc *SearchRequest) SetOption(key string, val interface{}) *SearchRequest
SetOption 设置请求参数
func (*SearchRequest) SetOptionMap ¶
func (sc *SearchRequest) SetOptionMap(options map[string]interface{}) *SearchRequest
SetOptionMap 通过map设置请求参数
type SearchResults ¶
type SearchResults struct { FaceToken string `json:"face_token"` // 从 FaceSet 中搜索出的一个人脸标识 face_token Confidence float32 `json:"confidence"` // 比对结果置信度,范围 [0,100],小数点后3位有效数字,数字越大表示两个人脸越可能是同一个人 UserId string `json:"user_id"` // 用户提供的人脸标识,如果未提供则为空 }
SearchResults 搜索结果对象