功能结果" cvtColor" OpenCV

时间:2016-04-04 00:52:52

标签: opencv rgb hsv

我尝试将RGB图像转换为HSV颜色空间,并获取像素的HSV值。 但结果有点奇怪,据我所知,H的范围在0到360之间,S和V在0到255之间,但我得到的结果是任何HSV值的0~255。我怀疑OpenCV是否完成了转换,是吗?请帮帮我。

1 个答案:

答案 0 :(得分:0)

如果您熟悉RGB-HSV转换,OpenCV使用以下公式将B,G,R值(0~255)转换为H,S,V:

V = MAX(B,G,R)

S = 255 * [1-分钟(B,G,R)/ MAX(B,G,R)]

令d = Max(B,G,R)-min(B,G,R)

如果V = R

,则H = 30 * [((G-B)/ d)%6] 如果V = G

,则

= 30 * [((B-R)/ d)+2] 如果V = B

,则

= 30 * [((R-G)/ d)+4]