JavaScript
Clarifaiを利用した人工知能デモ その42017/09/06
Clarifaiを使って人工知能のデモを作ってみた。
iPhoneで解析を行えるように改良。
iPhoneのsafari, firefox, Chromeにて動作を確認。
clarifai-ai-4.js
var img_area = $("#img_area");
var img = $("<img>");
var 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);
}
}
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);
}
$("#input_tag").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);