回答編集履歴
2
修正し忘れた場所の変更
answer
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
こんにちは、はい、RGBともに0の場合はHSVのどの値も0になります。たとえば[このページ](https://www.peko-step.com/tool/hsvrgb.html#ppick2)などがわかりやすいと思います。
|
1
|
+
こんにちは、はい、RGBともに0の場合は便宜上HSVのどの値も0になります。たとえば[このページ](https://www.peko-step.com/tool/hsvrgb.html#ppick2)などがわかりやすいと思います。
|
2
|
+
ただ、厳密には未定義のようです。
|
3
|
+
(https://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93)
|
2
4
|
```python
|
3
5
|
import cv2
|
4
6
|
import numpy as np
|
1
コードの修正
answer
CHANGED
@@ -17,7 +17,12 @@
|
|
17
17
|
plt.imshow(img_green_masked_rgb)
|
18
18
|
img_HSV2 = cv2.cvtColor(img_green_masked, cv2.COLOR_BGR2HSV)
|
19
19
|
s_channel=img_HSV2[:,:,1]
|
20
|
-
np.var(s_channel)
|
20
|
+
np.var(s_channel[s_channel>0])
|
21
|
+
# flatten()を使う場合
|
22
|
+
V1=img_HSV2[:,:,1]
|
23
|
+
Vrow1=np.array(V1).flatten()
|
24
|
+
VV1=np.var(Vrow1[Vrow1>0])
|
25
|
+
print(VV1)
|
21
26
|
```
|
22
27
|

|
23
28
|
彩度の分散はここのコードのように、シンプルに計算してしまっても構わない気がしたのですが、いかがでしょうか。
|