颜色空间转换:基于CUDA的BGR转HSV

一、简介

        RGB 是我们接触最多的颜色空间,分别为红色(R),绿色(G)和蓝色(B)。HSV 是用色调H,饱和度S,明亮度V来描述颜色的变化,H取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。饱和度S越高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。H表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。

二、从RGB转换到HSV

设 (r, g, b) 分别是一个颜色的红、绿和蓝坐标,它们的值是在 0 到 1 之间的实数

设 max 等于 r, g, b 中的最大者

设 min 等于 r, g, b 中的最小者

                                   

C++        

#include "cuda_check.h"
#include <iostream>
#include <sstream>
#include <string>
#i

猜你喜欢

转载自blog.csdn.net/zhangdaoliang1/article/details/124861877