質問編集履歴

1

よく分からないのですが、送信したものと別のものになっていたので編集しました。

2021/01/15 17:52

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,21 +4,23 @@
4
4
 
5
5
 
6
6
 
7
- os.chdir('C://Users//matsumoto//Desktop//cv//ok')
7
+ os.chdir('C://Users//username//Desktop//cv//ok')
8
8
 
9
9
 
10
10
 
11
- img = cv2.imread('20.png') # 画像の読み出し
11
+ img = cv2.imread('1.png') # 画像の読み出し
12
12
 
13
13
  img = cv2.inRange(img, (120, 21, 145), (214,152,204))
14
14
 
15
15
 
16
16
 
17
- cv2.imwrite('21nitika.png',img) # 画像の保存
17
+ cv2.imwrite('1nitika.png',img) # 画像の保存
18
18
 
19
19
  ```
20
20
 
21
21
 
22
+
23
+ 上のようなプログラムを作りました、1枚の画像を二値化します、これを、
22
24
 
23
25
 
24
26
 
@@ -51,3 +53,49 @@
51
53
  img_resize.save(fname + '_640x480' + fext)
52
54
 
53
55
  ```
56
+
57
+
58
+
59
+ 上のプログラムと組み合わせ、複数画像を二値化したいのですが、
60
+
61
+
62
+
63
+ ```python
64
+
65
+ import os
66
+
67
+ import glob
68
+
69
+ from PIL import Image
70
+
71
+
72
+
73
+ img_files = glob.glob('*.png')
74
+
75
+
76
+
77
+ for f in img_files:
78
+
79
+ img = Image.open(f)
80
+
81
+ img_resize = cv2.inRange(img, (120, 21, 145), (214,152,204))
82
+
83
+ fname, fext = os.path.splitext(f)
84
+
85
+ img_resize.save(fname + '_640x480' + fext)
86
+
87
+ ```
88
+
89
+
90
+
91
+ このように書いても、
92
+
93
+ Traceback (most recent call last):
94
+
95
+ File "<stdin>", line 3, in <module>
96
+
97
+ TypeError: Expected Ptr<cv::UMat> for argument 'src'
98
+
99
+ というエラーが出ます、たぶんcv2を使うあたりでおかしくなっているのですが、
100
+
101
+ どう書けばよいのかわかりません、どのようにするとうまくいくでしょうか。