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

質問編集履歴

4

編集しましたー。

2021/05/14 15:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,30 @@
1
+ 読み込んだ画像を100*100にresizeしたのですが、これを
1
- qiitaてあるコード意味分からないけど意味が分からないまま適当に変更したらやっぱ思った通りに動かなかったです
2
+ 10*10の画像10個分割したいのですが、その方法が分かりません
2
3
 
4
+ Qiitaの
3
- numpyで画像の分割と連結という
5
+ 画像の分割と連結
4
6
  https://qiita.com/ka10ryu1/items/015c6a6a5fa287a47828
5
- ここの、Qiitaの記事のプログラムを元に、
7
+ という記事に、画像等分割のコードが書かれていたのですが、そのまま貼りつけても動きません。コードは以下になります。
6
8
 
7
9
  ```python
10
+   import numpy as np
11
+
12
+ v_size = img.shape[0] // size * size
13
+ h_size = img.shape[1] // size * size
14
+ img = img[:v_size, :h_size]
15
+
16
+ v_split = img.shape[0] // size
17
+ h_split = img.shape[1] // size
18
+ out_img = []
19
+ [out_img.extend(np.hsplit(h_img, h_split))
20
+ for h_img in np.vsplit(img, v_split)]
21
+ ```
22
+
23
+ 出力結果として[None]が大量に出力されるだけです。
24
+
25
+ 自分はGoogleColaboratoryで使いたいので、Colabでも使えるようにし、かつ回答を少し参考に一部いじったコードが以下です。
26
+
27
+ ```python
8
28
  from google.colab import drive
9
29
  drive.mount('/content/drive')
10
30
 
@@ -16,16 +36,11 @@
16
36
  import ActivationFunction as AF
17
37
  from PIL import Image
18
38
 
19
- # PILで開いたうえでデータをNumpy形式にする
20
- # (例えばJPEGは圧縮されていてNumpyな配列になっていないので、
21
- # そこからNumpyのデータ空間(?)に持ってくる必要がある)
22
39
  tefilename = "test2.png"
23
40
  teimg = Image.open("drive/My Drive/mnist_dataset/" + tefilename)
24
41
  teimg = teimg.resize((100, 100))
25
42
  img = np.asarray(teimg)
26
43
 
27
-
28
-
29
44
  v_size = img.shape[0]
30
45
  h_size = img.shape[1]
31
46
  img = img[:v_size, :h_size]
@@ -34,134 +49,22 @@
34
49
  h_split = img.shape[1]
35
50
  out_img = []
36
51
  [out_img.extend(np.hsplit(h_img, h_split))
37
- for h_img in np.vsplit(img, v_split)]
52
+ for h_img in np.vsplit(img, v_split)]
53
+
54
+ print(out_img)
38
55
  ```
39
56
 
40
- こういうプログラムを作ったんですが、出力結果
57
+ 出力結果
41
58
  Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
42
- [None,
43
- None,
44
- None,
45
- None,
46
- None,
47
- None,
48
- None,
49
- None,
50
- None,
51
- None,
52
- None,
53
- None,
54
- None,
55
- None,
56
- None,
57
- None,
58
- None,
59
- None,
60
- None,
61
- None,
62
- None,
63
- None,
64
- None,
65
- None,
66
- None,
67
- None,
68
- None,
69
- None,
70
- None,
71
- None,
72
- None,
73
- None,
74
- None,
75
- None,
76
- None,
77
- None,
78
- None,
79
- None,
80
- None,
81
- None,
82
- None,
83
- None,
84
- None,
85
- None,
86
- None,
87
- None,
88
- None,
89
- None,
90
- None,
91
- None,
92
- None,
93
- None,
94
- None,
95
- None,
96
- None,
97
- None,
98
- None,
99
- None,
100
- None,
101
- None,
102
- None,
103
- None,
104
- None,
105
- None,
106
- None,
107
- None,
108
- None,
109
- None,
110
- None,
111
- None,
112
- None,
113
- None,
114
- None,
115
- None,
116
- None,
117
- None,
118
- None,
119
- None,
120
- None,
121
- None,
122
- None,
123
- None,
124
- None,
125
- None,
126
- None,
127
- None,
128
- None,
129
- None,
130
- None,
131
- None,
132
- None,
133
- None,
134
- None,
135
- None,
136
- None,
137
- None,
138
- None,
139
- None,
140
- None,
141
- None]
142
- となり、画像すら表示されません。
143
- 具体的に自分のやりたい事は、まず取り込んだ画像サイズを100*100にresizeしているので、
144
- これを10*10の正方形100個に分割したいのです。
145
- 分割しても表示する必要はなく、python中で分割させて、記事にあるように、
146
- 画像番号とかでpython中で呼び出せるようにしたいのです、
147
- ゆくゆくは、各画像の類似度とかを計算して、色々やりたいんですが。
59
+ [array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]], dtype=uint8), array([[[255, 255, 255]]],・・・(略)
148
60
 
61
+ となります。
62
+
149
- 記事に
63
+ たぶん、
150
- 書かれているコードは
151
64
  ```python
152
-   import numpy as np
153
-
154
- v_size = img.shape[0] // size * size
155
- h_size = img.shape[1] // size * size
156
- img = img[:v_size, :h_size]
157
-
158
- v_split = img.shape[0] // size
159
- h_split = img.shape[1] // size
160
- out_img = []
161
- [out_img.extend(np.hsplit(h_img, h_split))
65
+ [out_img.extend(np.hsplit(h_img, h_split))
162
- for h_img in np.vsplit(img, v_split)]
66
+ for h_img in np.vsplit(img, v_split)]
163
67
  ```
164
- ですが、これをそのまま貼りつけてちろん画像の読み込みら行っていないのでエラー出ます。
68
+ の部分そも変更る必要があると思うので、どう変更れば良いのか分かりません
165
- 何か元となるコードがあって、一部を変更するのかと思いきや、そういうものもないみたいです。
166
-
167
- 記事通りでなくて良いので、希望の通り画像複数枚等分割するコードを教え頂きたいのですが
69
+ extendはリストに引数を追加するもので、これリスト内入れていがおかしいと思うのですが
70
+ ではforを用い、縦横分割はどのように記述すれば良いのか、よく分かりません。

3

補足しました。

2021/05/14 15:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,9 @@
1
- numpyで画像の分割と連結とうQiitaの記事のプログラムを元に
1
+ qiitaに書いてあるコード意味がからなけど意味が分からないまま適当に変更したらやっぱり思った通りに動かなかったです。
2
2
 
3
+ numpyで画像の分割と連結という
4
+ https://qiita.com/ka10ryu1/items/015c6a6a5fa287a47828
5
+ ここの、Qiitaの記事のプログラムを元に、
6
+
3
7
  ```python
4
8
  from google.colab import drive
5
9
  drive.mount('/content/drive')
@@ -135,14 +139,14 @@
135
139
  None,
136
140
  None,
137
141
  None]
138
- でした縦横分割したいんで
142
+ となり画像ら表示されません
139
- 具体的には、画像サイズを100*100にresizeしているので、
143
+ 具体的に自分のやりたい事は、まず取り込んだ画像サイズを100*100にresizeしているので、
140
144
  これを10*10の正方形100個に分割したいのです。
141
145
  分割しても表示する必要はなく、python中で分割させて、記事にあるように、
142
146
  画像番号とかでpython中で呼び出せるようにしたいのです、
143
147
  ゆくゆくは、各画像の類似度とかを計算して、色々やりたいんですが。
144
148
 
145
- 記事のURLは、https://qiita.com/ka10ryu1/items/015c6a6a5fa287a47828です。
149
+ 記事
146
150
  書かれているコードは
147
151
  ```python
148
152
    import numpy as np
@@ -157,5 +161,7 @@
157
161
  [out_img.extend(np.hsplit(h_img, h_split))
158
162
  for h_img in np.vsplit(img, v_split)]
159
163
  ```
160
- ですが、もちろん画像の読み込みすら行っていないのでエラーが出ます。
164
+ ですが、これをそのまま貼りつけて、もちろん画像の読み込みすら行っていないのでエラーが出ます。
161
- 何か元となるコードがあって、一部を変更するのかと思いきや、そういうものもないみたいです。
165
+ 何か元となるコードがあって、一部を変更するのかと思いきや、そういうものもないみたいです。
166
+
167
+ 記事通りでなくても良いので、希望の通り画像を複数枚に等分割するコードを教えて頂きたいのですが。

2

補足しましたー。

2021/05/14 08:15

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -140,4 +140,22 @@
140
140
  これを10*10の正方形100個に分割したいのです。
141
141
  分割しても表示する必要はなく、python中で分割させて、記事にあるように、
142
142
  画像番号とかでpython中で呼び出せるようにしたいのです、
143
- ゆくゆくは、各画像の類似度とかを計算して、色々やりたいんですが。
143
+ ゆくゆくは、各画像の類似度とかを計算して、色々やりたいんですが。
144
+
145
+ 記事のURLは、https://qiita.com/ka10ryu1/items/015c6a6a5fa287a47828です。
146
+ 書かれているコードは
147
+ ```python
148
+   import numpy as np
149
+
150
+ v_size = img.shape[0] // size * size
151
+ h_size = img.shape[1] // size * size
152
+ img = img[:v_size, :h_size]
153
+
154
+ v_split = img.shape[0] // size
155
+ h_split = img.shape[1] // size
156
+ out_img = []
157
+ [out_img.extend(np.hsplit(h_img, h_split))
158
+ for h_img in np.vsplit(img, v_split)]
159
+ ```
160
+ ですが、もちろん画像の読み込みすら行っていないのでエラーが出ます。
161
+ 何か元となるコードがあって、一部を変更するのかと思いきや、そういうものもないみたいです。

1

やりたいこと追加しました。

2021/05/14 02:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -135,4 +135,9 @@
135
135
  None,
136
136
  None,
137
137
  None]
138
- でした、縦横分割したいんですが。
138
+ でした、縦横分割したいんですが。
139
+ 具体的には、画像サイズを100*100にresizeしているので、
140
+ これを10*10の正方形100個に分割したいのです。
141
+ 分割しても表示する必要はなく、python中で分割させて、記事にあるように、
142
+ 画像番号とかでpython中で呼び出せるようにしたいのです、
143
+ ゆくゆくは、各画像の類似度とかを計算して、色々やりたいんですが。