一、前言
突发奇想,我能不能根据一张图片,就识别到图片是否有猫咪,并且这个地方是在哪里?
二、准备工作
三、准备工作的流程
旷视Face 使用API流程
官方教程:场景与物体识别的API使用教程注册并登录控制台
——》创建应用API Key(应用管理)——》获取API Key、API Secret
请求地址:
<!-- 需要POST请求--> https://api-cn.faceplusplus.com/imagepp/beta/detectsceneandobject?api_key=你旷视的API Key&api_secret=你旷视的API Secret&image_url=你的图片地址
小牛翻译 使用API流程
(ps:目的是翻译旷视返回的结果(英文) 进行翻译)
官方流程:注册流程、获取APIKEY流程、测试APIKEY流程
帐号注册并登录控制台——》按照流程获取流量——》拿到提供的apikey
请求地址:
http://api.niutrans.com/NiuTransServer/translation?to=翻译方向语言&from=源方向语言&src_text=翻译内容&apikey=你的apikey
其他工作流程
自行找一张猫咪照片,也可使用笔者提供的猫咪照片地址:nanfangzhe.gitee.io/cat-picture….
四、代码与测试
核心代码
var niutransUrl = "http://api.niutrans.com/NiuTransServer/translation"; var faceUrl = "https://api-cn.faceplusplus.com/imagepp/beta/detectsceneandobject"; var param = { // 这里的param为参数---键值对方式 api_key:'HOTcabIupEcx19GrvVk_fpJpPmNeDAwz', // 需要改的地方1️⃣ api_secret:'MOvF_DapqoMhhMUxBuwYcfPtA4OY_kzG', // 需要改的地方2️⃣ image_url:'https://nanfangzhe.gitee.io/cat-picture/database/images/cat3.png' // 测试的图片地址 } $.ajaxSettings.async = true; $.post(faceUrl, param, function(data){ // console.log("这是请求成功的"); // console.log(data); // console.log(data.objects[0].value); // console.log(data.scenes[0].value); if(data.objects.length == 0){ console.log("图片识别出错啦!"); return; } var translateParam = { // 这里的param为参数---键值对方式 to:'zh', from:'en', src_text:data.objects[0].value, apikey:'8ab87227fb9bedd396808aac58bb9257' // 需要改的地方3️⃣ } $.getJSON(niutransUrl, translateParam, function(translateData){ // console.log(translateData); if(translateData.tgt_text.indexOf("猫") == -1){ console.log("你的图片不是猫,是:", translateData.tgt_text); return; } console.log("你的图片是猫"); }); if(data.scenes.length == 0){ console.log("当前该场所,图片识别不出来:("); return; } translateParam.src_text = data.scenes[0].value; $.getJSON(niutransUrl, translateParam, function(translateData){ // console.log(translateData); console.log("你的猫现在在:",translateData.tgt_text); }); }); $.ajaxSettings.async = false;
完整代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>猫图识别 南方者 - 掘金</title> </head> <body> <center> <h1>猫图识别 南方者 - 掘金</h1> </center> </body> <script src="https://code.jquery.com/jquery-3.1.1.min.js"> </script> <script> console.log("***************************************"); console.log("*********测试Demo 南方者 - 掘金*********"); console.log("https://juejin.cn/user/2840793779295133"); console.log("***************************************"); var niutransUrl = "http://api.niutrans.com/NiuTransServer/translation"; var faceUrl = "https://api-cn.faceplusplus.com/imagepp/beta/detectsceneandobject"; var param = { // 这里的param为参数---键值对方式 api_key:'HOTcabIupEcx19GrvVk_fpJpPmNeDAwz', // 需要改的地方1️⃣ api_secret:'MOvF_DapqoMhhMUxBuwYcfPtA4OY_kzG', // 需要改的地方2️⃣ image_url:'https://nanfangzhe.gitee.io/cat-picture/database/images/cat3.png' } $.ajaxSettings.async = true; $.post(faceUrl, param, function(data){ // console.log("这是请求成功的"); // console.log(data); // console.log(data.objects[0].value); // console.log(data.scenes[0].value); if(data.objects.length == 0){ console.log("图片识别出错啦!"); return; } var translateParam = { // 这里的param为参数---键值对方式 to:'zh', from:'en', src_text:data.objects[0].value, apikey:'8ab87227fb9bedd396808aac58bb9257' // 需要改的地方3️⃣ } $.getJSON(niutransUrl, translateParam, function(translateData){ // console.log(translateData); if(translateData.tgt_text.indexOf("猫") == -1){ console.log("你的图片不是猫,是:", translateData.tgt_text); return; } console.log("你的图片是猫"); }); if(data.scenes.length == 0){ console.log("当前该场所,图片识别不出来:("); return; } translateParam.src_text = data.scenes[0].value; $.getJSON(niutransUrl, translateParam, function(translateData){ // console.log(translateData); console.log("你的猫现在在:",translateData.tgt_text); }); }); $.ajaxSettings.async = false; </script> </html>