一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

商城系統 注冊

小程序中如何接入人臉融合功能

2018-06-19|HiShop
導讀:小程序人臉融合功能是一個什么樣的樣式效果,小程序接入人臉融合功能需要如何開發,下面為大家解答。...

小程序人臉融合功能是一個什么樣的樣式效果,小程序接入人臉融合功能需要如何開發,下面為大家解答。

效果圖

小程序中如何接入人臉融合功能

創建一個AI應用

https://ai.qq.com/cgi-bin/console_overview 登錄騰訊AI,創建并勾選相關接口即可。

記得復制APPID APPKEY

使用Java接入該功能

創建一個SpringMVC工程,包含上傳相關jar。或者SpringBoot工程也行。鄙人后端還在完善并沒有完全開源。具體可以參考https://gitee.com/xshuai/xai 項目

Java調用騰訊AI接口。小帥丶已經封裝成SDK。也是開源的 https://gitee.com/xshuai/taip 

如果使用maven搭建。直接pom引入即可哦

<!-- https://mvnrepository.com/artifact/cn.xsshome/taip -->
<dependency>
    <groupId>cn.xsshome</groupId>
    <artifactId>taip</artifactId>
    <version>4.2.1</version>
</dependency>
  • FaceMergeController(后端處理代碼)
import java.util.Iterator;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import cn.xsshome.taip.ptu.TAipPtu;
/**
* 人臉融合接口
* url:http://www.xxx.com/facemerge/uploadFM
*/
@Controller
@RequestMapping(value="/facemerge")
@Scope("prototype")
public class FaceMergeController extends BaseController{
	private static final Logger logger = Logger.getLogger(FaceMergeController.class);
	/**
	 * 人臉融合
	 * @throws Exception
	 */
	@RequestMapping(value="/uploadFM",method=RequestMethod.POST)
	public void UploadBDANIMAL()throws Exception{
		TAipPtu aipPtu = new TAipPtu("APPID", "APPKEY");
		String model = request.getParameter("model");
		logger.info("model的值是===="+model);
		String model = request.getParameter("model");
		logger.info("model的值是===="+model);
		    String result = "";
		    MultipartHttpServletRequest mpRequest = (MultipartHttpServletRequest)this.request;
		    Iterator iter = mpRequest.getFileNames();
		    MultipartFile file = null;
		    while (iter.hasNext()) {
		      file = mpRequest.getFile((String)iter.next());
		      if ((file != null) && (file.getSize() != 0L)){
		        byte[] image = file.getBytes();
		        String apiPtuResult = aipPtu.faceMerge(image,Integer.parseInt(model));
		        PrintUtil.printJson(this.response, apiPtuResult);
		      } else {
		        logger.error("請檢查上傳文件是否正確");
		        result = "{\"result\", \"FAIL\",\"msg\":\"服務器開小差了\"}";
		        PrintUtil.printJson(this.response, result);
		      }
		    }
		}
}
  • BaseController(基類)
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.ModelAttribute;
/**
 * 基類Controller 
 * 一些參數
 * Title: BaseController	
 * @author 小帥丶
 * @version 1.0
 */
public class BaseController {
	public Map session;
	public String openId;
	public String errMsg;
	public String jsonParam;
	public String callback;
	protected HttpServletRequest request;
	protected HttpServletResponse response;
	/**
	 * 每次請求都會帶上
	 * @param jsonParam
	 * @param callback
	 * @param openId
	 */
	@ModelAttribute
	public void setReqAndRes(Map session, String openId, String errMsg,
			String jsonParam, String callback, HttpServletRequest request,
			HttpServletResponse response) {
		this.session = session;
		this.openId = openId;
		this.errMsg = errMsg;
		this.jsonParam = jsonParam;
		this.callback = callback;
		this.request = request;
		this.response = response;
	}
	public Map getSession() {
		return session;
	}
	public void setSession(Map session) {
		this.session = session;
	}
	public String getOpenId() {
		return openId;
	}
	public void setOpenId(String openId) {
		this.openId = openId;
	}
	public String getErrMsg() {
		return errMsg;
	}
	public void setErrMsg(String errMsg) {
		this.errMsg = errMsg;
	}
	public String getJsonParam() {
		return jsonParam;
	}
	public void setJsonParam(String jsonParam) {
		this.jsonParam = jsonParam;
	}
	public String getCallback() {
		return callback;
	}
	public void setCallback(String callback) {
		this.callback = callback;
	}
	public HttpServletRequest getRequest() {
		return request;
	}
	public void setRequest(HttpServletRequest request) {
		this.request = request;
	}
	public HttpServletResponse getResponse() {
		return response;
	}
	public void setResponse(HttpServletResponse response) {
		this.response = response;
	}
	
	public String getRealPath(String path) {
		return request.getSession().getServletContext().getRealPath(path);

	}
}
  • PrintUtil(響應類)
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import javax.servlet.http.HttpServletResponse;
/**
 * 輸出結果
 * @author 小帥丶
 *
 */
public class PrintUtil {
	public static void printXml(HttpServletResponse response,String result){
		try {
			response.setContentType("text/xml; charset=UTF-8");  
			PrintWriter sos = response.getWriter();
			sos.write(result);
			sos.flush();
			sos.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 采用json 或 jsonp
	 * @param callback
	 * @param response
	 * @param result
	 */
	public static void printJson(String callback,HttpServletResponse response,String result){
		boolean jsonP = false;
		if (callback != null) {
		    jsonP = true;
		    response.setContentType("text/javascript;charset=utf-8");
		} else {
		    response.setContentType("application/x-json;charset=utf-8");
		}
		
			try {
				Writer out = response.getWriter();
				if (jsonP) {
				    out.write(callback + "(");
				}
				out.write(result.toString());
				if (jsonP) {
				    out.write(");");
				}
				out.flush();
				out.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
	}
	
	public static void printJson(HttpServletResponse response,String result){
		try {
			response.setCharacterEncoding("UTF-8");  
		    response.setContentType("application/json; charset=utf-8");  
			PrintWriter sos = response.getWriter();
			sos.write(result);
			sos.flush();
			sos.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 


  微信小程序上傳限制為2048kb。相關圖片過多超了限制。因此需要用到云存儲。使用阿里云 騰訊云都可以哦。在親測的情況下發現。即使云儲存域名不在小程序里面添加也是可以正常訪問哦

電話咨詢 預約演示 0元開店
主站蜘蛛池模板: 爆乳肉体大杂交SOE646在线|51vv社区视频在线视频观看|中文视频在线观看|国产网红=av|久久婷婷五月综合色奶水99啪|国产一级淫片免费 | 国产=a三级三级三级看三级|不卡中文|国产免费午夜福利757|h在线视频|熟女人妻=aV完整一区二区三区|J=aP=aN白嫩丰满人妻VIDEOS | 女女同性=aV片在线播放免费|91久久香蕉囯产熟女线看|在线观看国产日韩亚洲中|97se国产在线公开视频|日本欧美视频|国产成人短视频在线观看 | 岛国精品在线观看|欧美丰满高潮xxxx喷水动漫|国内=av网|亚洲精品久久久久久久久|亚洲精品h|亚洲国产视频一区二区 | 国产精品久久久久久免费观看|黄色=a毛片|日韩欧美亚洲一区二区|日韩午夜免费视频|日本三级网站视频|欧美性生恔XXXXXDDDD | zzijzzij亚洲日本少妇jizjiz|日韩精品在线视频播放|欧美亚洲黄色片|99久久国产福利自产拍|日韩人妻潮喷中文在线视频|亚洲精品字幕在线观看 | 77777五月色婷婷丁香视频|亚洲精品国产偷五月丁香小说|国产一级黄色大片|亚洲成色777777在线观看影院|四虎成人网|四虎院影亚洲永久 | 爱情到此为止在线观看|精品热99|老熟女多次高潮露脸视频|91国偷自产一区二区三区老熟女|美女久久久久久久久|高潮VPSWINDOWS国产乱 | 天天操天天爱天天干|日本中文字幕免费在线观看|国产精品久久毛片=a片软件爽爽|国产精品色=av|中文字幕第二十一页|日本护士大口吞精视频网站 | 欧美高清福利|免费亚洲黄色|黄片毛片免费|亚洲欧美日韩在线资源观看|国产精品久久久久久久久久久久午|日本三级播放 | 久久永久免费人妻精品我不卡|日韩=a在线播放|韩国视频一区|天天干天天插天天操|亚洲色图视频在线观看|亚洲精品爱爱 | 操逼视频软件|免费=a级毛视频|超碰最新在线|免费无码又色又爽又黄的视频软件|jizz亚洲国产|极品少妇的粉嫩小泬看片 | 国产一级黄色网|亚洲欧洲一区|国产91传媒|成人网站在线进入爽爽爽|亚洲精品7777xxxx青睐|亚洲在线资源 | 蜜桃特黄=a∨片免费观看|97在线成人自拍视频|色欲久久久天天天精品综合网|97伦理97伦理2018最新|中国老师精69xxxxxx免|四虎影视永久免费 | 国产精品久久久久毛片|成年视频免费|未满岁18禁止在线WWW|鲁鲁鲁爽爽爽在线视频观看|国产视频一视频二|国产精品卡一 | 日本=a一级|国产亚洲精品精|中国女人特级毛片|蜜乳=av一区二区三区|欧美群妇大交群的观看方式|日一区二区三区 | 岛国精品在线观看|欧美丰满高潮xxxx喷水动漫|国内=av网|亚洲精品久久久久久久久|亚洲精品h|亚洲国产视频一区二区 | 国产不卡二区|成人国产乱码久久久久|国产精品视频一二|亚洲欧美牲交|少妇性色午夜淫片=a|真人一进一出抽搐GIF免费 | 韩国久久=av|V一区无码内射国产|超级碰碰色偷偷免费视频|国产成人自拍网站|日韩1区2区3区|欧美亚洲日本精品 | 天天干天天插伊人网|久久久久久一级片|粉嫩久久久久久久极品|人人插人人搞|五月丁香六月综合缴清无码|国产精华=aV午夜在线 | 伊人伊成久久人综合网|99久久精品无免国产免费|亚洲精选免费视频|自拍偷拍综合|欧美人禽交zozozo视频|久久久久女人精品毛片九一韩国 | 天堂色=av|аⅴ天堂中文在线网官网|#NAME?|日本=a在线看|91免费视频网址|亚洲精品久久久久久久久久久 | 日韩高清黄色片|夜夜爽一区二区三区|老司机福利在线观看|狠狠色噜噜狼狼狼色综合久|精品免费观看视频|小早川怜子一区二区的演员表 | 国产一级片一区|欧美在线观看中文字幕|波波成人网|亚洲第一色区|人妻免费一区二区三区最新|久久www色情成人免费 | 亚洲日本乱码一区二区产线一∨|我要看WWW免费看插插视频|老师课后辅导乳揉搓H在线观看|视频一区二区三区波多野结衣|中文字幕在线资源|精品国产第一页 | 美女人妻激情乱人伦|亚洲=aV激情无码专区在线播放|国产在线区|国产v=a免费精品高清在线|天天干天天射综合|九九九九精品 | 蜜桃=aV少妇久久久久久高潮不断|国产精品VIDEOSSEX国产高清|亚洲成=aⅤ人片久青草影院按摩|夜色香影院|自拍视频区|超碰综合 | 成本人片在线观看免费网站|成年人视频网站在线|夜趣福利视频|免费观看的=av在线播放|亚洲欧美偷国产日韩|四虎.com | 日韩精品理论|国产在线一区观看|特级毛片www|99视频这里只有精品视频|久久96国产精品久久久|这里只有精品首页 | 亚洲精品久久久久久蜜臀|老熟妇性老熟妇性色|黄色一级片片|国产二区一区|极品少妇xxxxx|日日摸夜夜爽无码毛片精选 | 欧美在线视频三区|国产中文原创|日本午夜免费福利视频|国产色综合色产在线视频|综合国产精品|猫咪成人在线观看 | 国产一区二区三区精品久久久|欧美午夜一区二区|久草新免费|91=av成人|男人午夜在线|亚洲欧美国产vr在线观 | 午夜dj福利|免费看黄在线观看|天堂=a在线|亚洲中文字幕人成影院|亚洲精品久久久久77777|天天躁夜夜踩很很踩2022 | 欧美一区二区三区四区在线观看|天堂国产在线观看|一级片免费在线观看|毛茸茸xxxx|melody在线高清免费观看动漫|国产性色=aV高清在线观看 | 天天干狠狠|欧美性受极品xxxx喷水|亚洲第2页|chinese乱子伦XXXXHD|色8久久精品久久久久久葡萄=av|青青草91在线视频 | 韩国久久=av|V一区无码内射国产|超级碰碰色偷偷免费视频|国产成人自拍网站|日韩1区2区3区|欧美亚洲日本精品 | 偷看农村女人做爰毛片色|亚洲成人=av在线播放|国内视频一区|国产三级黄色|久久色亚洲|91精选国产 | #NAME?|人妻被按摩师玩弄到潮喷|我要一级毛片|国产精品一品道加勒比|亚洲黄色自拍视频|欧美久久免费 | 国产成人精品777|久久久久国内精品|国产乱妇无乱码大黄=a=a片|久久字幕网|一区二区三区无码高清视频|在线视频综合 | 亚洲wwww|给个毛片网站|欧美日韩伦理在线|日本妈妈黄色片|日韩毛片在线观看|久久精品观看 | 蜜臀=aⅴ精品一区二区三区|5c5c5c5c|午夜免费|四虎影视最新免费版|色噜噜狠狠狠狠色综合久|精品服丝袜无码视频一区|国产一区日韩一区 |