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

回答編集履歴

2

d

2019/12/17 07:23

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -35,15 +35,28 @@
35
35
  if r > 100 and b < 50 and g > 90:
36
36
  return "VIOLET"
37
37
 
38
- return "OTHER" # 上記いずれにも該当しない場合
38
+ return "OTHER"
39
39
 
40
40
 
41
- img = np.array(Image.open("sample.jpeg"))
41
+ img = np.array(Image.open("tttt.jpeg"))
42
42
  img = np.apply_along_axis(rgb_to_name, 2, img)
43
43
 
44
44
  from collections import Counter
45
45
 
46
46
  for row in range(len(img)):
47
47
  cnt = Counter(img[row])
48
- print(f"row: {row}, count: {cnt}")
48
+ print(f"row: {row}, count: {dict(cnt)}")
49
+ ```
50
+
51
+ ```
52
+ row: 0, count: {'WHITE': 289}
53
+ row: 1, count: {'WHITE': 289}
54
+ row: 2, count: {'WHITE': 289}
55
+ row: 3, count: {'WHITE': 289}
56
+ row: 4, count: {'WHITE': 289}
57
+ row: 5, count: {'WHITE': 289}
58
+ row: 6, count: {'WHITE': 289}
59
+ row: 7, count: {'WHITE': 289}
60
+ row: 8, count: {'WHITE': 280, 'CLEAM': 9}
61
+ row: 9, count: {'WHITE': 20, 'CLEAM': 269}
49
62
  ```

1

d

2019/12/17 07:23

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,17 +1,17 @@
1
1
  以下の手順でできます。
2
2
 
3
- 1. 画像の画素値 (R, G, B) を色の名前 (質問の if 文で定義されているもの) に変換する。
3
+ * 1. 画像の画素値 (R, G, B) を色の名前 (質問の if 文で定義されているもの) に変換する。
4
4
 
5
5
  → 色ごとに関数を適用するのに [numpy.apply_along_axis](https://docs.scipy.org/doc/numpy/reference/generated/numpy.apply_along_axis.html) を使う。
6
6
 
7
- 2. 画像を行ごとに取得する。
7
+ * 2. 画像を行ごとに取得する。
8
8
 
9
- ```
9
+ ```python
10
10
  for row in range(len(img)):
11
11
  img(row)
12
12
  ```
13
13
 
14
- 3. その行の色の種類及び数を数える。
14
+ * 3. その行の色の種類及び数を数える。
15
15
 
16
16
  collections.Countor を使う。
17
17