首页 > 其他分享 >8. 百度人脸识别

8. 百度人脸识别

时间:2022-10-30 12:25:02浏览次数:43  
标签:人脸识别 String AipFace public client import options 百度

百度人脸识别

人脸识别(Face Recognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求

一、官网示例代码

public class Sample {
    //设置APPID/AK/SK
    public static final String APP_ID = "你的 App ID";
    public static final String API_KEY = "你的 Api Key";
    public static final String SECRET_KEY = "你的 Secret Key";

    public static void main(String[] args) {
        // 初始化一个AipFace
        AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);

        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
        client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
        client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理

        // 调用接口
        String image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";
        String imageType = "BASE64";
        
         // 传入可选参数调用接口
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("face_field", "age");
    options.put("max_face_num", "2");
    options.put("face_type", "LIVE");
    options.put("liveness_control", "LOW");
        
    
        // 人脸检测
        JSONObject res = client.detect(image, imageType, options);
        System.out.println(res.toString(2));
        
    }
}

二、项目代码

2.1先测试,FaceApiTest

检测一张图片中是否包含有人脸

package com.itheima.test;

import com.baidu.aip.face.AipFace;
import org.json.JSONObject;

import java.util.HashMap;

public class FaceApiTest {

    //设置APPID/AK/SK
    public static final String APP_ID = "27915129";
    public static final String API_KEY = "iYbOuyOqi9BsVw4SbAEQifgR";
    public static final String SECRET_KEY = "Z5kpiL2Fnb1ujQIlcPLjZ9fg0dcAWjaO";

    public static void main(String[] args) {
        // 初始化一个AipFace
        AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);

        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 调用接口
        String image = "https://project-of-tanhua.oss-cn-hangzhou.aliyuncs.com/2022/10/14/f716e89e-1364-435a-b3f3-4c9b42d563a2.jpg";
        String imageType = "URL";


        // 传入可选参数调用接口
        HashMap<String, String> options = new HashMap<String, String>();
        options.put("face_field", "age");
        options.put("max_face_num", "2");
        options.put("face_type", "LIVE");
        options.put("liveness_control", "LOW");

        // 人脸检测
        JSONObject res = client.detect(image, imageType, options);
        System.out.println(res.toString(2));

    }
}

三、抽取模板工具

3.1在tanhua-app-server的applicatin.yaml配置信息

tanhua:
  faceapi:
    appId: 27915129
    apiKey: iYbOuyOqi9BsVw4SbAEQifgR
    secret: Z5kpiL2Fnb1ujQIlcPLjZ9fg0dcAWjaO

3.2FaceApiProperties配置类,读取配置

package com.tanhua.autoconfig.properties;

import com.baidu.aip.face.AipFace;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;

@Data
@ConfigurationProperties("tanhua.faceapi")
public class FaceApiProperties {


    private String appId;
    private String apiKey;
    private String secret;
    
    
    @Bean
    public AipFace client(){
     AipFace client = new AipFace(appId, apiKey, secret);
        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);
        return client;
    }
}

3.3FaceApiTemplate

package com.tanhua.autoconfig.template;

import com.baidu.aip.face.AipFace;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.HashMap;

public class FaceApiTemplate {

    @Autowired
    private AipFace client;



    /**
     * 检测图片中是否有人脸
     * 需要的参数:
     * 本项目可以使用在阿里云oss中上传上去的照片URL
     * @param imageUrl
     * @return
     */
    public boolean checkFace(String imageUrl){

        String imageType = "URL";


        // 传入可选参数调用接口
        HashMap<String, String> options = new HashMap<String, String>();
        options.put("face_field", "age");
        options.put("max_face_num", "2");
        options.put("face_type", "LIVE");
        options.put("liveness_control", "LOW");

        // 人脸检测
        JSONObject res = client.detect(imageUrl, imageType, options);
        System.out.println(res.toString(2));



        Integer error_code = (Integer) res.get("error_code");
        return error_code == 0;
    }

}

3.4测试

package com.itheima.test;

import com.tanhua.autoconfig.template.FaceApiTemplate;
import com.tanhua.server.AppServerApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppServerApplication.class)
public class FaceApiTest2 {


    @Autowired
    private FaceApiTemplate faceApiTemplate;

    @Test
    public void test (){

        String imageUrl = "https://project-of-tanhua.oss-cn-hangzhou.aliyuncs.com/2022/10/14/f716e89e-1364-435a-b3f3-4c9b42d563a2.jpg";
        boolean result = faceApiTemplate.checkFace(imageUrl);
        System.out.println("图片是否含有人脸?"+result);
    }

}

标签:人脸识别,String,AipFace,public,client,import,options,百度
From: https://www.cnblogs.com/zhangdashuaige/p/16840936.html

相关文章

  • 使用百度的一些隐私设置
    使用百度的一些隐私设置设置这些内容使你的信息更安全你要保守你心,胜过保守一切。作者:刘俊涛的博客......
  • 1.1 仿百度Web Day1
    Day1根据自己的垃圾html+css水平写出了下面这个页面:首先,首部的超链接都能够链接上,但是不会[更多]的弹出窗口,右面的天气/设置/个人也没有做,不会怎么去调用中间......
  • 【C#】爬取百度贴吧帖子 通过贴吧名和搜索关键词
    背景:最近喜欢看百度贴吧,因为其内容大多都是吧友的真实想法表达等等原因。但是通过网页去浏览贴吧,始终觉得不够简介,浏览帖子的效率不高,自己就萌发了通过自己爬取贴吧感兴趣......
  • 百度搜索资源
    1.搜素用到的分隔符2.去除广告(intitle:在网页的标题中搜索)3.限定内容范围搜索4.限定时间范围(内容:时间..时间)5.指定文件类型搜索(filetype:文件格式)......
  • 百度图像识别
    百度图像识别接口:https://ai.baidu.com/ai-doc/IMAGERECOGNITION/rk3bcxg711、在网站找到控制台,创建账号,创建应用,然后获取APP_ID、API_KEY、SECRET_KEY2、导坐标或者导j......
  • 使用百度的一些隐私设置
    使用百度的一些隐私设置设置这些内容使你的信息更安全文章来源:刘俊涛的博客欢迎关注公众号、留言、评论,一起学习。若有帮助到您,欢迎捐赠支持,您的支持是对我坚持最好......
  • 百度富文本编辑器.NET版在VS2010中的使用方法(此方法针对版本1.4.3)
    一、先是对配置文件的引用如下图 二、完成以上引用后,用VS生成网站的时候可能会报错,基本上是提示很多文件缺少引用,解决方法是把编辑器目录下APP_Code目录内的所有文件,......
  • 「人脸识别」人工智能应用最广泛的技术,你了解多少?
    人脸是日常生活中最常见和最熟悉的生物特征。作为人工智能应用最广泛的技术,人脸识别常用于安防、支付、考勤、金融等领域,提升了人们生活的安全性和便捷性。什么是人脸识别......
  • 基于百度图像识别SDK开发动植物识别
    1.登录百度智能云官网(没有要先注册账号)2.在官网下载javasdk压缩工具包3.将下载的aip-java-sdk-version.zip解压。  4.在idea新建工程,并添加lib文件夹,把jar包导入。......
  • 百度应用市场 app 认领
    jarsigner-verbose-keystoreE:\test\aaa.jks-signedjarE:\test1\Baidu_Claim_unsigned.apkE:\test\Baidu_Claim_unsigned.apksan123备注:为签名文件 E:\test......