資源簡介
利用百度人臉識別API 寫的簡單列子,拿來就可用。需要配置百度人臉識別賬號相關信息。
代碼片段和文件信息
package?com.ssm.controller;
import?java.io.ByteArrayOutputStream;
import?java.io.InputStream;
import?java.math.BigDecimal;
import?java.util.HashMap;
import?java.util.Map;
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.bind.annotation.ResponseBody;
import?org.springframework.web.multipart.MultipartFile;
import?org.springframework.web.servlet.ModelAndView;
import?com.alibaba.fastjson.JSON;
import?com.ssm.model.FaceV3DetectBean;
import?com.ssm.utils.FaceSpot;
import?net.sf.json.JSONArray;
import?net.sf.json.JSONobject;
/**
?*?人臉識別服務?controller
?*?@author?liyingming
?*
?*/
@Controller
@RequestMapping(value?=?“/faceRecognition“)
public?class?faceRecognitionController?{
?/**
?*?人臉檢測測試頁面
?*?@return
?*?@throws?Exception??
?*/
????@RequestMapping(value?=?“/test.do“)
????public?ModelAndView?queryVoi()?throws?Exception?{
????????ModelAndView?modelAndView?=?new?ModelAndView();
????????modelAndView.setViewName(“/artificialIntelligence/faceRecognition/test“);
????????return?modelAndView;
????}
????/**
??? ?*?請求人臉檢測
??? ?*?@return
??? ?*?@throws?Exception??
??? ?*/
@RequestMapping(value?=?“/save.do“)
@ResponseBody
public?Mapject>?queryService(@RequestParam(“the_file“)?MultipartFile?file)?{
Mapject>?modelMap?=?new?HashMapject>();
try?{
//將數(shù)據(jù)轉為流
InputStream?content?=?file.getInputStream();
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);??
????????}??
????????//獲得二進制數(shù)組
????????byte[]?in2b?=?swapStream.toByteArray();?
????????//調用人臉檢測的方法
????????String??str?=?FaceSpot.detectFace(in2b““+1);
????????JSONobject?job?=?new?JSONobject(FaceSpot.faceverify(in2b));
?System.out.println(job.toString());
?JSONobject?testData?=?job.getJSONobject(“result“);
?//System.out.println(testData.get(“face_liveness“));
????????
????????JSON?json?=?JSON.parseobject(str);
????????????FaceV3DetectBean?bean?=?JSON.toJavaobject(json?FaceV3DetectBean.class);
????????????JSONArray?arr?=?new?JSONArray();
????????????
????? ?for(int?i=0;i ????????JSONobject?jsonobject?=?new?JSONobject();
???? //獲取年齡
????????int?ageOne?=?bean.getResult().getFace_list().get(i).getAge();
????? //處理年齡
????????String?age?=String.valueOf(new?BigDecimal(ageOne).setScale(0?BigDecimal.ROUND_HALF_UP));
????????jsonobject.put(“age“?age);
//獲取美丑打分
????????Double?beautyOne?=?(Double)?bean.getResult().getFace_list().get(i).getBeauty();
//處理美丑打分
????? String?beauty?=String.valueOf(new?BigDecimal(beautyOne).setScale(0?BigDecimal.ROUND_HALF_U
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-29?11:05??LED\
?????文件?????????848??2018-06-07?15:04??LED\.classpath
?????目錄???????????0??2018-12-04?10:28??__MACOSX\
?????目錄???????????0??2018-12-04?10:28??__MACOSX\LED\
?????文件?????????172??2018-06-07?15:04??__MACOSX\LED\._.classpath
?????文件????????6148??2018-10-29?11:05??LED\.DS_Store
?????文件?????????120??2018-10-29?11:05??__MACOSX\LED\._.DS_Store
?????文件????????1328??2018-04-14?16:11??LED\.project
?????文件?????????172??2018-04-14?16:11??__MACOSX\LED\._.project
?????目錄???????????0??2018-07-24?13:22??LED\.settings\
?????文件?????????522??2018-02-12?10:58??LED\.settings\.jsdtscope
?????目錄???????????0??2018-12-04?10:28??__MACOSX\LED\.settings\
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._.jsdtscope
?????文件??????????79??2018-02-12?10:58??LED\.settings\com.genuitec.eclipse.migration.prefs
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._com.genuitec.eclipse.migration.prefs
?????文件??????????57??2018-06-07?15:07??LED\.settings\org.eclipse.core.resources.prefs
?????文件?????????172??2018-06-07?15:07??__MACOSX\LED\.settings\._org.eclipse.core.resources.prefs
?????文件?????????364??2018-02-12?10:58??LED\.settings\org.eclipse.jdt.core.prefs
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._org.eclipse.jdt.core.prefs
?????文件?????????468??2018-04-14?16:11??LED\.settings\org.eclipse.wst.common.component
?????文件?????????172??2018-04-14?16:11??__MACOSX\LED\.settings\._org.eclipse.wst.common.component
?????文件?????????172??2018-02-12?10:58??LED\.settings\org.eclipse.wst.common.project.facet.core.prefs.xm
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._org.eclipse.wst.common.project.facet.core.prefs.xm
?????文件?????????410??2018-04-16?09:50??LED\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件?????????172??2018-04-16?09:50??__MACOSX\LED\.settings\._org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2018-02-12?10:58??LED\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2018-02-12?10:58??LED\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件?????????172??2018-02-12?10:58??__MACOSX\LED\.settings\._org.eclipse.wst.jsdt.ui.superType.name
?????文件?????????172??2018-07-24?13:22??__MACOSX\LED\._.settings
?????目錄???????????0??2018-07-24?13:22??LED\src\
............此處省略362個文件信息
評論
共有 條評論