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