質問編集履歴
2
解決しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -162,3 +162,7 @@
|
|
162
162
|
|
163
163
|
どこか処理が間違っているでしょうか。
|
164
164
|
|
165
|
+
### 解決
|
166
|
+
255で行列を割っていたことを失念しており、255をかけて元に戻して同様にコードを回したところ、無事画像を出力することができました。
|
167
|
+
|
168
|
+
|
1
試しているコード及びコードの実行結果の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,3 +6,159 @@
|
|
6
6
|
|
7
7
|
- [ ] 前提で記載したnumpy行列について3000枚の行列をpngもしくはjpgにして特定のフォルダに保存したいです。
|
8
8
|
よろしくお願いいたします。
|
9
|
+
|
10
|
+
### 試しているコード
|
11
|
+
|
12
|
+
print("numpyの画像データ(3000枚)")
|
13
|
+
print("img_data.shape=", img_data.shape)
|
14
|
+
print()
|
15
|
+
print("img_data=", img_data)
|
16
|
+
print()
|
17
|
+
print("numpyの画像データ(3000枚):色情報(次元)を落とした画像データ(3000枚)")
|
18
|
+
test = np.squeeze(img_data)
|
19
|
+
print("test.shape=", test.shape)
|
20
|
+
print()
|
21
|
+
print("test=", test)
|
22
|
+
print()
|
23
|
+
test1 = test[0:20,:,:]
|
24
|
+
print("numpyの画像データ(20枚)")
|
25
|
+
print("test1.shape=", test1.shape)
|
26
|
+
print()
|
27
|
+
print("test1=", test1)
|
28
|
+
print()
|
29
|
+
x_split = np.split(test1, 20)
|
30
|
+
print("numpyの画像データ(20枚)を20分割したもの(list形式)")
|
31
|
+
print("x_split=", x_split)
|
32
|
+
print()
|
33
|
+
x_split2 = np.array(x_split)
|
34
|
+
print("numpyの画像データ(20枚)を20分割したもの(ndarray形式)")
|
35
|
+
print("x_split2.shape=", x_split2.shape)
|
36
|
+
print()
|
37
|
+
print("x_split2=", x_split2)
|
38
|
+
print()
|
39
|
+
|
40
|
+
|
41
|
+
for i, x in enumerate(x_split2):
|
42
|
+
print(f'x_split2[{i}]形状: \n{x.shape}')
|
43
|
+
new_name = "画像-{0:03d}.jpg".format(i + 1)
|
44
|
+
im1 = x.astype(np.uint8)
|
45
|
+
im2 = Image.fromarray(im1[0])
|
46
|
+
im2.convert("RGB")
|
47
|
+
im2.save(new_name)
|
48
|
+
|
49
|
+
|
50
|
+
### 試しているコードの結果(一部抜粋)
|
51
|
+
numpyの画像データ(3000枚)
|
52
|
+
img_data.shape= (3000, 1, 28, 28)
|
53
|
+
img_data= [[[[0.99207843 0.99207843 0.99207843 ... 1. 1.
|
54
|
+
0.99207843 ]
|
55
|
+
[0.99207843 0.99207843 0.99207843 ... 0.6901961 1.
|
56
|
+
1. ]
|
57
|
+
[0.99207843 0.99207843 0.99207843 ... 0. 0.
|
58
|
+
1. ]
|
59
|
+
...
|
60
|
+
[0.99207843 0.99207843 0.99207843 ... 0.99207843 0.99207843
|
61
|
+
0.99607843]
|
62
|
+
[0.99207843 0.99207843 0.99207843 ... 0.99207843 0.99207843
|
63
|
+
0.99207843 ]
|
64
|
+
[0.99207843 0.99207843 0.99207843 ... 0.99207843 0.99207843
|
65
|
+
0.99207843 ]]]
|
66
|
+
|
67
|
+
numpyの画像データ(3000枚):色情報(次元)を落とした画像データ(3000枚)
|
68
|
+
test.shape= (3000, 28, 28)
|
69
|
+
|
70
|
+
test= [[[0.99607843 0.99607843 0.99607843 ... 1. 1. 0.99607843]
|
71
|
+
[0.99607843 0.99607843 0.99607843 ... 0.6901961 1. 1. ]
|
72
|
+
[0.99607843 0.99607843 0.99607843 ... 0. 0. 1. ]
|
73
|
+
...
|
74
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]
|
75
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]
|
76
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]]
|
77
|
+
|
78
|
+
[[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]
|
79
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]
|
80
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843 0.99607843]
|
81
|
+
...
|
82
|
+
[0.99607843 0.99607843 0.99607843 ... 0. 0. 0. ]
|
83
|
+
[0.99607843 0.99607843 0.99607843 ... 0. 0. 0.2627451 ]
|
84
|
+
[0.99607843 0.99607843 0.99607843 ... 0.9490196 1. 1. ]]
|
85
|
+
|
86
|
+
numpyの画像データ(20枚)
|
87
|
+
test1.shape= (20, 28, 28)
|
88
|
+
|
89
|
+
numpyの画像データ(20枚)を20分割したもの(list形式)
|
90
|
+
x_split= [array([[[0.99607843, 0.99607843, 0.99607843, 0.99607843, 0.99607843,
|
91
|
+
0.99607843, 1. , 1. , 0.09803922, 0. ,
|
92
|
+
0.972549 , 1. , 0.99607843, 0.99607843, 0.99607843,
|
93
|
+
0.99607843, 0.99607843, 0.99607843, 0.99607843, 0.99607843,
|
94
|
+
0.99607843, 0.99607843, 1. , 1. , 1. ,
|
95
|
+
1. , 1. , 0.99607843],
|
96
|
+
[0.99607843, 0.99607843, 0.99607843, 0.99607843, 0.99607843,
|
97
|
+
1. , 1. , 0.01176471, 0. , 0. ,
|
98
|
+
|
99
|
+
|
100
|
+
numpyの画像データ(20枚)を20分割したもの(ndarray形式)
|
101
|
+
x_split2.shape= (20, 1, 28, 28)
|
102
|
+
|
103
|
+
x_split2= [[[[0.99607843 0.99607843 0.99607843 ... 1. 1.
|
104
|
+
0.99607843]
|
105
|
+
[0.99607843 0.99607843 0.99607843 ... 0.6901961 1.
|
106
|
+
1. ]
|
107
|
+
[0.99607843 0.99607843 0.99607843 ... 0. 0.
|
108
|
+
1. ]
|
109
|
+
...
|
110
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843
|
111
|
+
0.99607843]
|
112
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843
|
113
|
+
0.99607843]
|
114
|
+
[0.99607843 0.99607843 0.99607843 ... 0.99607843 0.99607843
|
115
|
+
0.99607843]]]
|
116
|
+
|
117
|
+
x_split2[0]形状:
|
118
|
+
(1, 28, 28)
|
119
|
+
x_split2[1]形状:
|
120
|
+
(1, 28, 28)
|
121
|
+
x_split2[2]形状:
|
122
|
+
(1, 28, 28)
|
123
|
+
x_split2[3]形状:
|
124
|
+
(1, 28, 28)
|
125
|
+
x_split2[4]形状:
|
126
|
+
(1, 28, 28)
|
127
|
+
x_split2[5]形状:
|
128
|
+
(1, 28, 28)
|
129
|
+
x_split2[6]形状:
|
130
|
+
(1, 28, 28)
|
131
|
+
x_split2[7]形状:
|
132
|
+
(1, 28, 28)
|
133
|
+
x_split2[8]形状:
|
134
|
+
(1, 28, 28)
|
135
|
+
x_split2[9]形状:
|
136
|
+
(1, 28, 28)
|
137
|
+
x_split2[10]形状:
|
138
|
+
(1, 28, 28)
|
139
|
+
x_split2[11]形状:
|
140
|
+
(1, 28, 28)
|
141
|
+
x_split2[12]形状:
|
142
|
+
(1, 28, 28)
|
143
|
+
x_split2[13]形状:
|
144
|
+
(1, 28, 28)
|
145
|
+
x_split2[14]形状:
|
146
|
+
(1, 28, 28)
|
147
|
+
x_split2[15]形状:
|
148
|
+
(1, 28, 28)
|
149
|
+
x_split2[16]形状:
|
150
|
+
(1, 28, 28)
|
151
|
+
x_split2[17]形状:
|
152
|
+
(1, 28, 28)
|
153
|
+
x_split2[18]形状:
|
154
|
+
(1, 28, 28)
|
155
|
+
x_split2[19]形状:
|
156
|
+
(1, 28, 28)
|
157
|
+
|
158
|
+
### 困っていること
|
159
|
+
コードはエラーなく回り、画像も指定のフォルダに「画像-001,画像-002」のように保存されるのですが、画像の中身がすべての画像で真っ黒になってしまいます。
|
160
|
+
|
161
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-01-08/091c1112-7089-4ae8-ac24-cd893838f198.png)
|
162
|
+
|
163
|
+
どこか処理が間違っているでしょうか。
|
164
|
+
|