質問編集履歴
2
追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -120,4 +120,6 @@
|
|
|
120
120
|
plt.tight_layout()
|
|
121
121
|
plt.savefig('IMAGE.png', transparent=True)
|
|
122
122
|
```
|
|
123
|
-
↑画像は保存できるが透過部分が残ってしまう。できれば64×64配列の部分のみを保存したい
|
|
123
|
+
↑画像は保存できるが透過部分が残ってしまう。できれば64×64配列の部分のみを保存したい
|
|
124
|
+
また、Aのグレースケールは以下のような画像です(plt.imshow(A, cmap='gray')部分)
|
|
125
|
+

|
1
追加
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
numpy: ndarrayをグレースケールの画像として保存したい
|
|
1
|
+
numpy: ndarrayを二値画像ではなくグレースケールの画像として保存したい
|
body
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
### 前提・実現したいこと
|
|
2
2
|
|
|
3
|
-
numpy.ndarrayに格納している**64×64の配列をグレースケールの画像として表示、保存をしたい**です.
|
|
3
|
+
numpy.ndarrayに格納している**64×64の配列をグレースケールの画像として表示、保存をしたい**です.(元々配列を二値化、つまり白黒画像にして保存するものだったがグレースケールに変換するバージョンも作りたい)
|
|
4
4
|
matplotlibを用いて表示はできているのですが、上下に透過部分が余分に入ってしまいます。
|
|
5
5
|
画像1,2枚の保存だけでなくfor文内で実行して数万枚単位で保存をするため、できれば
|
|
6
6
|
①外部のトリミングソフトの使用は控えたい
|
|
@@ -53,9 +53,20 @@
|
|
|
53
53
|
"""
|
|
54
54
|
A=np.real(B[i,:,:])#Bの配列内の実数部のみをAに移した
|
|
55
55
|
type(A)
|
|
56
|
+
"""
|
|
57
|
+
元々の二値化する方では以下のようにして二値化画像を保存していた。
|
|
58
|
+
できればこの部分のみを変えて実現したい
|
|
59
|
+
binary=np.real(B[i,:,:])
|
|
60
|
+
th=0.0
|
|
61
|
+
im_bin=(binary>th)*255
|
|
62
|
+
im_bin2=cv2.bitwise_not(im_bin)+256
|
|
63
|
+
pilImg = Image.fromarray(np.uint8(im_bin2))
|
|
64
|
+
|
|
65
|
+
pilImg.save("%03.f"%(i)+".png")
|
|
66
|
+
"""
|
|
56
67
|
```
|
|
57
|
-
↑numpy.ndarrayを返す
|
|
58
68
|
|
|
69
|
+
|
|
59
70
|
### 試したこと
|
|
60
71
|
```
|
|
61
72
|
type(A)
|