質問編集履歴

4

修正

2020/10/15 01:25

投稿

hanaaaa
hanaaaa

スコア5

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

修正

2020/10/15 01:25

投稿

hanaaaa
hanaaaa

スコア5

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

修正

2020/10/14 12:13

投稿

hanaaaa
hanaaaa

スコア5

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

修正

2020/10/14 12:12

投稿

hanaaaa
hanaaaa

スコア5

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を取り出し、リサイズすることはできたのですが、sample1.jpgだけでく、ファイル全体(image_exam)全体をるごとリサイズしたいです。
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
- しかし,sample1.jpgの部分をimage_examに変更すると以下のようなエラーが発生します。ご指摘よろしくお願いいたします。
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