現状
当方Javascript初心者です.
いまJavaScriptとtensorflowjsを使いpythonで構築したkerasのモデルを利用しアプリケーションを作ろうとしています.
このとき構築したモデルは画像に加工をするものであり,入力サイズは自由で同じサイズの画像が出力されます.
実現したいこと
ユーザーから入力された画像(URI)と使用したいkerasのモデルを持っている状況で,入力画像をどのようにどの形式に変換してモデルに入力すべきか,また出力された画像をどのようにして表示・保存すれば良いのか,良いと思われる方法をご存知の方がいらっしゃればお教えいただけると幸いです.
以下に今作成中のコードを記載します.
以下のコードと全く異なる実装になってもかまいません.
JavaScript
1//Onsen UIを使っています 2 3/* 実行動作 (main)*/ 4document.addEventListener('init', function() { 5 var page = event.target; 6 if (page.id == "page2") { 7 document.getElementById('run').addEventListener('click', function(){ 8 //img=>array 9 var img = STnet(image); 10 //array=>imgオブジェクト 11 changeTab2(); 12 var r = document.getElementById("Pimg"); 13 if (r){ //NULL or undefined or 0 or "" 以外なら要素を削除 14 document.getElementById("outputimg").removeChild(r); //clear 15 } 16 var o = document.createElement("img"); 17 o.setAttribute("id", "Pimg"); 18 o.setAttribute("src", img); //img name 19 o.setAttribute("alt","変換画像の確認") 20 document.getElementById("outputimg").appendChild(o); //表示 21 }); 22 23 } 24}, false); 25 26//image.src=>arrayオブジェクト 27function img2arr (){ 28 const canvas = document.createElement("canvas"); 29 var img = new Image(); 30 // 31 img.src = image.src; 32 33 //変換した画像をarrに 34 return arr; 35} 36 37// import * as tf from '@tensorflow/tfjs'; 38// ニューラルネット 39function STnet (img){ 40 var style = window.localStorage.getItem('style'); //モデルの指定 41 const model = tf.loadModel(path.join('model',style,'model.json')); 42 try { 43 model.ready(); 44 const inputData = { 45 input_1: new Float32Array(img) 46 }; 47 const outputData = model.predict(inputData); 48 } catch (err) { 49 onFail(err);// handle error 50 } 51 const prediction = model.predict(img); 52 return prediction; 53} 54 55 56/*保存*/ 57document.addEventListener('init', function() { 58 var page = event.target; 59 if (page.id == "page3") { 60 document.getElementById('save').addEventListener('click', function(){ 61 //保存動作 62 63 64 }); 65 66 } 67}, false);
あなたの回答
tips
プレビュー