質問編集履歴
3
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,8 @@
|
|
22
22
|
img_binary = cv2.inRange(img, tuple(min_bgr),tuple(max_bgr))
|
23
23
|
```
|
24
24
|
|
25
|
-
それでこのエラーが表示されます。
|
25
|
+
それでこの部分でエラーが表示されます。
|
26
|
+
img_binary = cv2.inRange(img, tuple(min_bgr),tuple(max_bgr))
|
26
27
|
|
27
28
|
TypeError: Expected Ptr<cv::UMat> for argument 'lowerb'
|
28
29
|
|
2
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,7 +7,13 @@
|
|
7
7
|
import cv2
|
8
8
|
from scipy import stats
|
9
9
|
img = cv2.imread(filepath)
|
10
|
+
img2 = np.copy(img)
|
11
|
+
.........
|
12
|
+
..............
|
13
|
+
img2 = img2.reshape(-1,3)
|
14
|
+
..............
|
15
|
+
.........
|
10
|
-
mode_bgr = stats.mode(img[~np.all(img == [0,0,0], axis=-1)])[0].squeeze()
|
16
|
+
mode_bgr = stats.mode(img2[~np.all(img2 == [0,0,0], axis=-1)])[0].squeeze()
|
11
17
|
#この時点でmode_bgrには画像の最頻色(黒を除く)が [int 0-255 , int 0-255, int 0-255] の形で入っていることを確認しました。
|
12
18
|
min_bgr = mode_bgr - 20
|
13
19
|
max_bgr = mode_bgr + 20
|
1
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
所々省略してますが、以下のようなコードになります。
|
4
4
|
|
5
5
|
```Python
|
6
|
+
import numpy as np
|
7
|
+
import cv2
|
6
8
|
from scipy import stats
|
7
9
|
img = cv2.imread(filepath)
|
8
10
|
mode_bgr = stats.mode(img[~np.all(img == [0,0,0], axis=-1)])[0].squeeze()
|