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

一、简介

        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 中的最小者

#include "cuda_check.h"
#include <iostream>
#include <sstream>
#include <string>
#include "NvInfer.h"
#include "cuda_runtime_api.h"
#include <fstream>
#include <map>
#include <chrono>
#include <opencv2/opencv.hpp>


typedef unsigned char uchar;
typedef unsigned int uint;


#define BLOCK_SIZE 32
#define CV_64FC1 double
#define 

猜你喜欢

转载自blog.csdn.net/zhangdaoliang1/article/details/124861977
今日推荐