JAVA人脸识别(人脸对比)

人脸对比

进入百度人脸识别技术文档
https://ai.baidu.com/ai-doc/FACE/Lk37c1tpf

把AuthService 类和FaceMatch 类复制出来
JAVA人脸识别(人脸对比)_第1张图片
JAVA人脸识别(人脸对比)_第2张图片

复制出来之后还需要把AuthService 类和FaceMatch 类所需要的包导入


 /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */

把4个java文件下载下来和AuthService 类和FaceMatch 类放在一起就可以了

在maven的xml里面 导入

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>


        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>

在AuthService 类里面需要修改AK和SK
JAVA人脸识别(人脸对比)_第3张图片

JAVA人脸识别(人脸对比)_第4张图片
JAVA人脸识别(人脸对比)_第5张图片
JAVA人脸识别(人脸对比)_第6张图片
JAVA人脸识别(人脸对比)_第7张图片
创建完项目以后点开项目,就可以在项目内看见了。
注意:access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token;

具体操作如下:

AuthService 类只需要替换AK和SK就可以了
FaceMatch 类里需要传入俩张图片并且把图片转为BASE64类型,然后再转为JSON
就可以使用HttpUtil类的post方法来比较两张图片的相似性。
FileUtil工具类里面有readFileByBytes方法,传入图片地址,输出一个byte[]数组,byte[]数组内装的就是转为字节的图片
JAVA人脸识别(人脸对比)_第8张图片
JAVA人脸识别(人脸对比)_第9张图片
我们只需要image和image_type
上图的json格式可以看作map,image就是键,后面的BASE64就是值
而整个就像是一个数组把多个map装入
但我们需要把byte[]设置转为BASE64,而在Base64Util工具类里面有encode方法可以把byte[]数组转为BASE64
JAVA人脸识别(人脸对比)_第10张图片
然后我们需要把他们转为JSON,那怎么转?
在GsonUtils工具类里面有一个方法toJson
就可以帮我们转JSON
在这里插入图片描述
最后只需要用HttpUtil工具类的post方法就可以得出对比的值了
JAVA人脸识别(人脸对比)_第11张图片
输出
在这里插入图片描述
我们也可以创建JSON对象来直接取出对比出的值
JAVA人脸识别(人脸对比)_第12张图片
输出
在这里插入图片描述
如果还报错可能是这里
在这里插入图片描述
复制的地址可能会出错

你可能感兴趣的:(JAVA,java,json)