人脸检测

接口描述

用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。

接口说明

请求URL:http://api.exocr.com/face/v1/detect

请求方式:HTTP Post

返回格式:json

参数
Content-Type 使用二进制方式时,为multipart/form-data;使用base64和url方式时,为application/x-www-form-urlencoded

请求参数

参数 必选 类型 说明
app_key string 请在控制台->我的应用中获取
app_secret string 请在控制台->我的应用中获取
image_base64 string 图像base64编码。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_url string 图像url地址。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。
image_binary data 图像二进制。image_base64、image_url、image_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以image_base64图像为准。

调用示例

java(相关依赖库下载)

package com.exocr.httpclient;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;



import com.exocr.common.utils.HttpClientUtils;



public class Test {



  public static void main(String[] args) throws FileNotFoundException {

   /**

    * base64

    */

   //识别url

   String url = " http://api.exocr.com/face/v1/detect";

   //设置请求参数

   Map<String, String> params = new HashMap<String, String>();

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   //设置识别图像base64编码

   params.put("image_base64", "base64ImageStr");

   //发送请求,得到识别结果

   String result = HttpClientUtils.doPost(url, params);

   System.*out*.println(result);

   /**

    * url

    */

   //设置请求参数、识别图像url

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   params.put("image_url", "imageUrl");

   //发送请求,得到识别结果

   result = HttpClientUtils.doPost(url, params);

   System.*out*.println(result);

   /**

    * 二进制

    */

   //设置请求参数

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   //拿到本地图像,写入数据流

   File file = new File("/Users/mac/logs/face.png");

   InputStream in = new FileInputStream(file);

   //设置数据流

   Map<String, InputStream> streamMap = new HashMap<String, InputStream>();

   streamMap.put("image_binary", in);

   //发送请求,得到识别结果

   result = HttpClientUtils.doPostStream(url, params, streamMap);

   //关闭io流

   try {

     in.close();

   } catch (IOException e) {

     e.printStackTrace();

   }

   System.*out*.println(result);

  }

}

返回示例

{

  "result": {

    "count": 1,

    "face_list": [

      {

        "position": {

          "width": 94,

          "top": 139,

          "height": 123,

          "left": 435

        },

        "score": 1

      }

    ]

  },

  "error_code": 0,

  "description": "检测成功",

  "request_id": "056E5B66EBB64AE593E0017646F639D4",

  "recognize_time": 102,

  "available_count": 9964

}

返回说明

通用参数

参数 类型 说明
result array 返回结果数组,包括所有字段的识别信息
error_code int 错误码,返回0为正确,其他为错误
description string 识别结果描述
request_id string 请求唯一标识符
recognize_time int 识别所用时间,单位为毫秒
available_count int 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数

人脸检测特有参数

参数 类型 说明
face_list array 结果数组,数组中的元素为检测到的所有人脸数据
count int 检测到的人脸数量
score float 可信度(1.0为可信度100%)
position array 当前字段在图像上的位置信息
left int 位置值,距离原图左侧距离x,单位为像素
top int 位置值,距离原图上方距离y,单位为像素
width int 位置值,字段所在图框宽度w,单位为像素
height int 位置值,字段所在图框高度h,单位为像素
rotate int 旋转角度
faceattr Object 人脸属性
left_eye_occ Array 左眼状态
gender Array 性别
age float 年龄
pitch float 人脸仰俯偏转角度
mouth_occ Array 嘴巴状态
skin_color Array 皮肤颜色
nose_occ Array 鼻子状态
hair Array 头发状态
respirator Array 口罩状态
blur float 模糊状态
right_eye_occ Array 右眼状态
eye_status String 眼睛状态
beard Array 胡子状态
hat Array 帽子状态
yaw float 人脸左右偏转角度
glasses Array 眼镜状态
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2023-12-04 14:10:10

results matching ""

    No results matching ""