質問編集履歴

1

現在作成中のコードの追加

2018/11/08 08:27

投稿

mori_takeshi
mori_takeshi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -9,3 +9,151 @@
9
9
  ## 実現したいこと
10
10
 
11
11
  ユーザーから入力された画像(URI)と使用したいkerasのモデルを持っている状況で,入力画像をどのようにどの形式に変換してモデルに入力すべきか,また出力された画像をどのようにして表示・保存すれば良いのか,良いと思われる方法をご存知の方がいらっしゃればお教えいただけると幸いです.
12
+
13
+
14
+
15
+ 以下に今作成中のコードを記載します.
16
+
17
+ 以下のコードと全く異なる実装になってもかまいません.
18
+
19
+
20
+
21
+
22
+
23
+ ```JavaScript
24
+
25
+ //Onsen UIを使っています
26
+
27
+
28
+
29
+ /* 実行動作 (main)*/
30
+
31
+ document.addEventListener('init', function() {
32
+
33
+ var page = event.target;
34
+
35
+ if (page.id == "page2") {
36
+
37
+ document.getElementById('run').addEventListener('click', function(){
38
+
39
+ //img=>array
40
+
41
+ var img = STnet(image);
42
+
43
+ //array=>imgオブジェクト
44
+
45
+ changeTab2();
46
+
47
+ var r = document.getElementById("Pimg");
48
+
49
+ if (r){ //NULL or undefined or 0 or "" 以外なら要素を削除
50
+
51
+ document.getElementById("outputimg").removeChild(r); //clear
52
+
53
+ }
54
+
55
+ var o = document.createElement("img");
56
+
57
+ o.setAttribute("id", "Pimg");
58
+
59
+ o.setAttribute("src", img); //img name
60
+
61
+ o.setAttribute("alt","変換画像の確認")
62
+
63
+ document.getElementById("outputimg").appendChild(o); //表示
64
+
65
+ });
66
+
67
+
68
+
69
+ }
70
+
71
+ }, false);
72
+
73
+
74
+
75
+ //image.src=>arrayオブジェクト
76
+
77
+ function img2arr (){
78
+
79
+ const canvas = document.createElement("canvas");
80
+
81
+ var img = new Image();
82
+
83
+ //
84
+
85
+ img.src = image.src;
86
+
87
+
88
+
89
+ //変換した画像をarrに
90
+
91
+ return arr;
92
+
93
+ }
94
+
95
+
96
+
97
+ // import * as tf from '@tensorflow/tfjs';
98
+
99
+ // ニューラルネット
100
+
101
+ function STnet (img){
102
+
103
+ var style = window.localStorage.getItem('style'); //モデルの指定
104
+
105
+ const model = tf.loadModel(path.join('model',style,'model.json'));
106
+
107
+ try {
108
+
109
+ model.ready();
110
+
111
+ const inputData = {
112
+
113
+ input_1: new Float32Array(img)
114
+
115
+ };
116
+
117
+ const outputData = model.predict(inputData);
118
+
119
+ } catch (err) {
120
+
121
+ onFail(err);// handle error
122
+
123
+ }
124
+
125
+ const prediction = model.predict(img);
126
+
127
+ return prediction;
128
+
129
+ }
130
+
131
+
132
+
133
+
134
+
135
+ /*保存*/
136
+
137
+ document.addEventListener('init', function() {
138
+
139
+ var page = event.target;
140
+
141
+ if (page.id == "page3") {
142
+
143
+ document.getElementById('save').addEventListener('click', function(){
144
+
145
+ //保存動作
146
+
147
+
148
+
149
+
150
+
151
+ });
152
+
153
+
154
+
155
+ }
156
+
157
+ }, false);
158
+
159
+ ```