一、简介
RGB 是我们接触最多的颜色空间,分别为红色(R),绿色(G)和蓝色(B)。HSV 是用色调H,饱和度S,明亮度V来描述颜色的变化,H取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。饱和度S越高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。H表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。
C++
#include<stdio.h>#include<stdlib.h>#include <opencv2/opencv.hpp>#include <cfloat>#include <opencv2/core/cuda/common.hpp>#include <opencv2/core/cuda/border_interpolate.hpp>#include <opencv2/core/cuda/vec_traits.hpp>#include <opencv2/core/cuda/vec_math.hpp>using namespace cv;__device__ uchar3 bgr2xyz(uchar3 src) { float scr_r = src.z / 255.0; float scr_g = src.y / 255.0; float scr_b = src.x / 255.0; float tmp[3]; tmp[0] = 100.0 * ((scr_r &