JAVA人脸识别(人脸对比)
人脸对比
进入百度人脸识别技术文档
https://ai.baidu.com/ai-doc/FACE/Lk37c1tpf
把AuthService 类和FaceMatch 类复制出来
创建完项目以后点开项目,就可以在项目内看见了。
注意: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[]数组内装的就是转为字节的图片
我们只需要image和image_type
上图的json格式可以看作map,image就是键,后面的BASE64就是值
而整个就像是一个数组把多个map装入
但我们需要把byte[]设置转为BASE64,而在Base64Util工具类里面有encode方法可以把byte[]数组转为BASE64
然后我们需要把他们转为JSON,那怎么转?
在GsonUtils工具类里面有一个方法toJson
就可以帮我们转JSON
最后只需要用HttpUtil工具类的post方法就可以得出对比的值了
输出
我们也可以创建JSON对象来直接取出对比出的值
输出
上一篇: 虚拟机:Centos 7 安装JDK8
下一篇: 系统分析与设计 lesson7作业