欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA人脸识别(人脸对比)

程序员文章站 2022-07-12 20:54:45
...

人脸对比

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

把AuthService 类和FaceMatch 类复制出来
JAVA人脸识别(人脸对比)
JAVA人脸识别(人脸对比)
JAVA人脸识别(人脸对比)
JAVA人脸识别(人脸对比)
创建完项目以后点开项目,就可以在项目内看见了。
注意:access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token;
复制出来之后还需要把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就可以了
FaceMatch 类里需要传入俩张图片并且把图片转为BASE64类型,然后再转为JSON
就可以使用HttpUtil类的post方法来比较两张图片的相似性。
FileUtil工具类里面有readFileByBytes方法,传入图片地址,输出一个byte[]数组,byte[]数组内装的就是转为字节的图片
JAVA人脸识别(人脸对比)
JAVA人脸识别(人脸对比)
我们只需要image和image_type
上图的json格式可以看作map,image就是键,后面的BASE64就是值
而整个就像是一个数组把多个map装入
但我们需要把byte[]设置转为BASE64,而在Base64Util工具类里面有encode方法可以把byte[]数组转为BASE64
JAVA人脸识别(人脸对比)
然后我们需要把他们转为JSON,那怎么转?
在GsonUtils工具类里面有一个方法toJson
就可以帮我们转JSON
JAVA人脸识别(人脸对比)
最后只需要用HttpUtil工具类的post方法就可以得出对比的值了
JAVA人脸识别(人脸对比)
输出
JAVA人脸识别(人脸对比)
我们也可以创建JSON对象来直接取出对比出的值
JAVA人脸识别(人脸对比)
输出
JAVA人脸识别(人脸对比)