資源簡介
Photoshop 的色相/飽和度調整,可以對全圖、紅、黃、綠、青、藍、洋紅六個通道進行設置。每個通道可設置: 色相(hue), 飽和度(satuation), 明度(Lightness)三個調整值。
另包含 多個顏色空間轉換函數

代碼片段和文件信息
/*
?*?ColorSpace.cpp
?*
?*??Created?on:?2016年7月1日
?*??????Author:?Administrator
?*/
#include?“ColorSpace.hpp“
#include?
using?namespace?std;
#define?MAX2(a?b)?(?(a)?>?(b)?)????(a)?:?(b)
#define?MAX3(abc)?(?(?(a)?>?(b)?)????MAX2(?a?c)?:?MAX2(?b?c?)?)
#define?MIN2(a?b)??(?(a)?(b)?)????(a)?:?(b)
#define?MIN3(abc)?(?(?(a)?(b)?)????MIN2(?a?c?)?:?MIN2(?b?c?)?)
#define?SWAP(a?b?t)??do?{?t?=?a;?a?=?b;?b?=?t;?}?while(0)
#define?CLIP_RANGE(value?min?max)??(?(value)?>?(max)???(max)?:?(((value)?(min))???(min)?:?(value))?)
#define?COLOR_RANGE(value)??CLIP_RANGE(value?0?255)
namespace?cv?{
/**
?*?Convert?BGR?to?Lab
?*
?*?@param?bgr?[in]?pointer?to?pixel?data?in?Blue-Green-Red?format?each?channel‘s?value?range?[0?255]
?*?@param?lab?[out]?pointer?to?pixel?data?in?L-a-b?format
?*?????????L?value?range?[0?1]
?*?????????a?value?range?[0?1]
?*?????????b?value?range?[0?1]
?*/
void?BGR2Lab(const?uchar?*bgr?float?*lab)
//void?rgb2lab(?float?R?float?G?float?B?float?&?l_s?float?&a_s?float?&b_s?)
{
????float?var_R?=?bgr[2]?/255.0;
????float?var_G?=?bgr[1]?/255.0;
????float?var_B?=?bgr[0]?/255.0;
????if?(?var_R?>?0.04045?)?var_R?=?pow(?((?var_R?+?0.055?)?/?1.055?)?2.4?);
????else???????????????????var_R?=?var_R?/?12.92;
????if?(?var_G?>?0.04045?)?var_G?=?pow(?(?(?var_G?+?0.055?)?/?1.055?)?2.4);
????else???????????????????var_G?=?var_G?/?12.92;
????if?(?var_B?>?0.04045?)?var_B?=?pow(?(?(?var_B?+?0.055?)?/?1.055?)?2.4);
????else???????????????????var_B?=?var_B?/?12.92;
????var_R?=?var_R?*?100.;
????var_G?=?var_G?*?100.;
????var_B?=?var_B?*?100.;
????//Observer.?=?2°?Illuminant?=?D65
????float?X?=?var_R?*?0.4124?+?var_G?*?0.3576?+?var_B?*?0.1805;
????float?Y?=?var_R?*?0.2126?+?var_G?*?0.7152?+?var_B?*?0.0722;
????float?Z?=?var_R?*?0.0193?+?var_G?*?0.1192?+?var_B?*?0.9505;
????float?var_X?=?X?/?95.047?;????//ref_X?=??95.047???Observer=?2°?Illuminant=?D65
????float?var_Y?=?Y?/?100.000;????//ref_Y?=?100.000
????float?var_Z?=?Z?/?108.883;???//ref_Z?=?108.883
????if?(?var_X?>?0.008856?)?var_X?=?pow(var_X??(?1./3.?)?);
????else????????????????????var_X?=?(?7.787?*?var_X?)?+?(?16.?/?116.?);
????if?(?var_Y?>?0.008856?)?var_Y?=?pow(var_Y??(?1./3.?));
????else????????????????????var_Y?=?(?7.787?*?var_Y?)?+?(?16.?/?116.?);
????if?(?var_Z?>?0.008856?)?var_Z?=?pow(var_Z??(?1./3.?));
????else????????????????????var_Z?=?(?7.787?*?var_Z?)?+?(?16.?/?116.?);
????lab[0]?=?(?116.?*?var_Y?)?-?16.;
????lab[1]?=?500.?*?(?var_X?-?var_Y?);
????lab[2]?=?200.?*?(?var_Y?-?var_Z?);
}
/**
?*?Convert?Lab?to?BGR
?*
?*?@param?lab?[in]?pointer?to?pixel?data?in?L-a-b?format
?*?????????L?value?range?[0?1]
?*?????????a?value?range?[0?1]
?*?????????b?value?range?[0?1]
?*?@param?bgr?[out]?pointer?to?pixel?data?in?Blue-Green-Red?format?each?channel‘s?value?range?[0?255]
?*/
void?Lab2BGR(const??float?*lab?uchar?*bgr)
//http://www.easyrgb.com/in
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????124965??2016-07-09?17:08??building.jpg
?????文件??????15092??2016-07-04?03:39??ColorSpace.cpp
?????文件???????6671??2016-07-03?23:26??ColorSpace.hpp
?????文件???????5339??2016-07-05?00:00??HSL.cpp
?????文件???????1218??2016-09-11?19:49??HSL.hpp
?????文件???????1545??2016-09-11?19:56??demo_HSL.cpp
-----------?---------??----------?-----??----
???????????????154830????????????????????6
評論
共有 條評論