teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

不要なコードの削除

2019/10/18 16:00

投稿

eringi337
eringi337

スコア16

title CHANGED
File without changes
body CHANGED
@@ -43,8 +43,6 @@
43
43
  from PIL import Image
44
44
  import os,glob
45
45
  import numpy as np
46
- from keras.utils import np_utils
47
- from sklearn import model_selection
48
46
 
49
47
  #クラスを配列に格納
50
48
  classes = ["class1", "class2"]

2

コードの追加

2019/10/18 16:00

投稿

eringi337
eringi337

スコア16

title CHANGED
File without changes
body CHANGED
@@ -38,7 +38,52 @@
38
38
 
39
39
  しかし,自分で集めた画像を.npyへ変換し実行するとエラーが発生しました。
40
40
 
41
+ **・変換のコード**
42
+ ```
43
+ from PIL import Image
44
+ import os,glob
45
+ import numpy as np
46
+ from keras.utils import np_utils
47
+ from sklearn import model_selection
41
48
 
49
+ #クラスを配列に格納
50
+ classes = ["class1", "class2"]
51
+
52
+ num_classes = len(classes)
53
+ image_size = 200
54
+
55
+ #画像の読み込み
56
+ #最終的に画像、ラベルはリストに格納される
57
+ X = []
58
+ Y = []
59
+ for index,classlabel in enumerate(classes):
60
+ photos_dir = "./" + classlabel
61
+ #globでそれぞれのクラスの画像一覧を取得
62
+ files = glob.glob(photos_dir + "/*.png")
63
+ for i,file in enumerate(files):
64
+ image = Image.open(file)
65
+ image = image.convert("RGB")
66
+ image = image.resize((image_size,image_size))
67
+ #イメージを1枚ずつnumpy配列に変換
68
+ data = np.asarray(image)
69
+ #リストに格納
70
+ X.append(data)
71
+ Y.append(index)
72
+
73
+ #格納したリストをさらにnumpy配列に変換
74
+ X = np.array(X)
75
+ Y = np.array(Y)
76
+
77
+
78
+ X1 = {"X": X}
79
+ Y1 = {"Y": Y}
80
+
81
+ xy = (X1, Y1)
82
+
83
+ print(xy)
84
+ np.save("./img.npy", xy)
85
+ ```
86
+
42
87
  **・自分で集めた画像を変換した.npyファイル**
43
88
  ```
44
89
  [{'X': array([[[[ 0, 55, 48],
@@ -53,5 +98,5 @@
53
98
  ```
54
99
  Image data of dtype object cannot be converted to float
55
100
  ```
56
- エラー内容からfloat型に変換できない事はわかるのですが,なぜ下の.npyファイルだけにエラーが発生するのかがわかりません。
101
+ エラー内容からfloat型に変換できない事はわかるのですが,なぜ下の.npyファイルだけにエラーが発生するのかがわかりません。画像の表示を行うコードは.matを表示するときと同じコードを使用しています。
57
102
  .npyファイルからXの配列を取り出し,画像を表示する方法を教えていただけないでしょうか?

1

初心者アイコンの追加

2019/10/18 15:56

投稿

eringi337
eringi337

スコア16

title CHANGED
File without changes
body CHANGED
@@ -54,4 +54,4 @@
54
54
  Image data of dtype object cannot be converted to float
55
55
  ```
56
56
  エラー内容からfloat型に変換できない事はわかるのですが,なぜ下の.npyファイルだけにエラーが発生するのかがわかりません。
57
- .npyファイルからXの配列を取り出し画像を表示する方法を教えていただけないでしょうか?
57
+ .npyファイルからXの配列を取り出し画像を表示する方法を教えていただけないでしょうか?