回答編集履歴
1
追加回答
answer
CHANGED
@@ -13,4 +13,23 @@
|
|
13
13
|
この場合は、np.mean(array,axis=2).astype('uint8') とすべきです。
|
14
14
|
普通は、cv2.cvtColor(array, cv2.COLOR_BGR2GRAY)でやるでしょう。
|
15
15
|
|
16
|
-
[Python, OpenCV, NumPyでカラー画像を白黒(グレースケール)に変換](https://note.nkmk.me/python-opencv-numpy-color-to-gray/) をご覧ください。
|
16
|
+
[Python, OpenCV, NumPyでカラー画像を白黒(グレースケール)に変換](https://note.nkmk.me/python-opencv-numpy-color-to-gray/) をご覧ください。
|
17
|
+
|
18
|
+
- 平均など一般的なものではなく独自の関数を設定したい場合にはどうしたらよいのでしょうか?
|
19
|
+
|
20
|
+
これを最初から書いて置いた方が、回答は速く得られますよ。
|
21
|
+
回答者からは、初心者なのか、ある程度分かっている人が聞いているのかは分からないのです。
|
22
|
+
|
23
|
+
回答は以下です。
|
24
|
+
|
25
|
+
```python
|
26
|
+
def f(x):
|
27
|
+
return sum(x)//len(x)
|
28
|
+
|
29
|
+
np.apply_along_axis(f, 2, array)
|
30
|
+
```
|
31
|
+
|
32
|
+
lambda式を使えば、以下でも同じです。
|
33
|
+
```python
|
34
|
+
np.apply_along_axis(lambda x: sum(x)//len(x), 2, array)
|
35
|
+
```
|