百度人脸搜索的一次尝试(JAVA)
生活随笔
收集整理的這篇文章主要介紹了
百度人脸搜索的一次尝试(JAVA)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
人臉識別可能是人工智能發展下,生活中最常見的應用之一,這也從一定程度上反映了人臉識別技術的成熟。百度云提供了人臉識別的API,可以免費試用。今天進行一次嘗試。
第一步:注冊和登陸
創建一個百度賬號。登陸百度云平臺,這里面用我們百度網盤的賬號就可以了。
第二步:找到人臉識別服務并創建
然后點擊創建應用。
創建成功后,會有三個關鍵信息:APPID、APIKey、Secrect Key
?第三步:添加人臉
進入應用后,創建group和用戶
那么現在人臉庫中就有兩張人臉了。
第四步:創建工程 與配置環境
配置JDK,maven就不說了。
創建一個maven工程、然后將百度的SDK添加進去,也就是在maven的pom文件中引入百度的包
<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.12.0</version></dependency>第五步:編碼
import com.baidu.aip.face.AipFace; import com.baidu.aip.util.Base64Util; import org.json.JSONObject;import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap;public class FaceTest {//需要修改為自己的private static final String APP_ID = "XXXX";private static final String API_KEY = "XXXX";private static final String SECRET_KEY = "XXXx";static AipFace client = null;static {client = new AipFace(APP_ID, API_KEY, SECRET_KEY);// 可選:設置網絡連接參數client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);}public static void main(String[] args) throws IOException {//BASE64Decoder decoder = new BASE64Decoder();String file1 = "/Users/yuchk/Desktop/haha.png";byte[] img2 = FileToByte(new File(file1));// 需要填寫自己的groupIdListSystem.out.println(searchFace(img2, "car"));}private static String searchFace(byte[] arg0, String groupIdList) {String imgStr = Base64Util.encode(arg0);String imageType = "BASE64";HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "NORMAL");options.put("liveness_control", "LOW");options.put("max_user_num", "1");JSONObject res = client.search(imgStr, imageType, groupIdList, options);return res.toString(2);}private static byte[] FileToByte(File file) throws IOException {// 將數據轉為流InputStream content = new FileInputStream(file);ByteArrayOutputStream swapStream = new ByteArrayOutputStream();byte[] buff = new byte[100];int rc = 0;while ((rc = content.read(buff, 0, 100)) > 0) {swapStream.write(buff, 0, rc);}// 獲得二進制數組return swapStream.toByteArray();} }運行結果
?
總結
以上是生活随笔為你收集整理的百度人脸搜索的一次尝试(JAVA)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯云【人脸识别】服务的一次尝试(JAV
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习