質問編集履歴
4
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -109,3 +109,77 @@
|
|
109
109
|
img = cv2.resize(img, dsize=(100, 100))
|
110
110
|
|
111
111
|
```
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
###解決法
|
116
|
+
|
117
|
+
```python
|
118
|
+
|
119
|
+
import cv2
|
120
|
+
|
121
|
+
import matplotlib.pyplot as plt
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
def preprocess(img):
|
128
|
+
|
129
|
+
h, w, c = img.shape
|
130
|
+
|
131
|
+
longest_edge = max(h, w)
|
132
|
+
|
133
|
+
top = 0
|
134
|
+
|
135
|
+
bottom = 0
|
136
|
+
|
137
|
+
left = 0
|
138
|
+
|
139
|
+
right = 0
|
140
|
+
|
141
|
+
if h < longest_edge:
|
142
|
+
|
143
|
+
diff_h = longest_edge - h
|
144
|
+
|
145
|
+
top = diff_h // 2
|
146
|
+
|
147
|
+
bottom = diff_h - top
|
148
|
+
|
149
|
+
elif w < longest_edge:
|
150
|
+
|
151
|
+
diff_w = longest_edge - w
|
152
|
+
|
153
|
+
left = diff_w // 2
|
154
|
+
|
155
|
+
right = diff_w - left
|
156
|
+
|
157
|
+
else:
|
158
|
+
|
159
|
+
pass
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
img = cv2.copyMakeBorder(img, top, bottom, left, right,cv2.BORDER_CONSTANT, value=[0, 0, 0])
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
return img
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
img = cv2.imread('data/sample/tomato.jpg')
|
172
|
+
|
173
|
+
img = preprocess(img)
|
174
|
+
|
175
|
+
img = cv2.resize(img, dsize=(299, 299))
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
plt.imshow(img)
|
180
|
+
|
181
|
+
```
|
182
|
+
|
183
|
+
meg_さんのご指摘とおりにひらがなフォルダをなくすため、ファイルをまとめてみると画像表示に関しては解決いたしました。ありがとうございます。
|
184
|
+
|
185
|
+
しかし、画像を指定せず、img = cv2.imread('data/sample')に変更するとこれまで同様のエラーが発生してしまいます。やはり一枚一枚画像を指定しなければ実行はできないのでしょうか。。。
|
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
### 該当のソースコード
|
52
52
|
|
53
|
-
|
53
|
+
|
54
54
|
|
55
55
|
```python
|
56
56
|
|
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
ファイル内の全画像を取り出し、以下の作業を行おうと考えました。
|
6
6
|
|
7
|
-
|
7
|
+
webで調べ、使えそうなソースを見つけたため、活用しています。(https://axa.biopapyrus.jp/deep-learning/sample/image-shape.html 参照)
|
8
8
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,21 +2,47 @@
|
|
2
2
|
|
3
3
|
長方形の画像を正方形にリサイズしたいです。
|
4
4
|
|
5
|
-
ファイル内の全画像を取り出し、以下の作業を行
|
5
|
+
ファイル内の全画像を取り出し、以下の作業を行おうと考えました。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
11
|
-
sample1.jpgを取り出し、リサイズ
|
11
|
+
sample1.jpgを取り出し、リサイズしたいのですが、以下のようなエラーが発生いたします。
|
12
|
+
|
13
|
+
また最終的には、sample1.jpgの部分をファイル名”sample”に変更し、ファイル内の画像を一気にリサイズしたいです。ご指摘よろしくお願いいたします。
|
14
|
+
|
15
|
+
```
|
16
|
+
|
17
|
+
AttributeError Traceback (most recent call last)
|
18
|
+
|
19
|
+
<ipython-input-26-a8e71c31a24c> in <module>
|
20
|
+
|
21
|
+
24
|
22
|
+
|
23
|
+
25 img = cv2.imread('ダウンロード/data/sample/sample1.jpg')
|
24
|
+
|
25
|
+
---> 26 img = preprocess(img)
|
26
|
+
|
27
|
+
27 img = cv2.resize(img, dsize=(100, 100))
|
12
28
|
|
13
29
|
|
14
30
|
|
15
|
-
|
31
|
+
<ipython-input-26-a8e71c31a24c> in preprocess(img)
|
16
32
|
|
17
|
-
|
33
|
+
2
|
18
34
|
|
35
|
+
3 def preprocess(img):
|
36
|
+
|
37
|
+
----> 4 h, w, c = img.shape
|
38
|
+
|
39
|
+
5 longest_edge = max(h, w)
|
40
|
+
|
41
|
+
6 top = 0
|
42
|
+
|
43
|
+
|
44
|
+
|
19
|
-
'NoneType' object has no attribute 'shape'
|
45
|
+
AttributeError: 'NoneType' object has no attribute 'shape'
|
20
46
|
|
21
47
|
```
|
22
48
|
|