JavaScript
Clarifaiを利用した人工知能デモ その32017/08/12
Clarifaiを使って人工知能のデモを作ってみた。
任意の画像で解析を行えるように改良。
環境はPCのfirefox, IE, Chrome、画像ファイルはjpgのみ動作を確認。
【対象画像】
【解析結果】
const img_area = $("#img_area"); const img = $("<img>"); const field = $("#field"); var img_file; var datas; const app = new Clarifai.App({ apiKey: 'f4e2e5ffe87c472883962a126db5401d' }); function execute(file){ app.models.predict({id: Clarifai.GENERAL_MODEL,language: 'ja'}, {base64: file}).then( function(response) { var output_obj = response; datas = output_obj.outputs[0].data.concepts; output_datas(datas); }, function(err) { console.error(err); } ); } function set_img(file){ if(file === "no"){ img.attr("src", ""); }else{ img.attr("src", file); if(parseInt(img.css("width")) > 850){ img.css("width", "850px"); }else{ img.css("width", ""); } } } function output_datas(d){ var str = ""; if(d !== "no"){ if(d === "doing"){ str = "処理中"; }else{ str = d[0].name; for(var i=1; i<d.length; i++){ str += ", " + d[i].name; } } } field.text(str); } document.getElementById( "input_tag" ).addEventListener( "change", function() { set_img("no"); output_datas("no"); var fileList = this.files ; var fr = new FileReader(); fr.onload = function(){ set_img(fr.result); var bs = fr.result.slice(fr.result.search("base64") + 7); output_datas("doing"); execute(bs); }; fr.readAsDataURL(this.files[0]); }); $("#input_tag").val(""); img_area.append(img);