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

回答編集履歴

2

修正し忘れた場所の変更

2020/12/27 11:04

投稿

Kenta_py
Kenta_py

スコア132

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

コードの修正

2020/12/27 11:04

投稿

Kenta_py
Kenta_py

スコア132

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
  ![イメージ説明](9946bfa4cf19ecbfb7e2039eb61b1306.png)
23
28
  彩度の分散はここのコードのように、シンプルに計算してしまっても構わない気がしたのですが、いかがでしょうか。