RGB转换成Lab具体算法

本文探讨了RGB到Lab颜色空间的转换,包括Photoshop(PS)中的具体算法和CIE标准转换算法。这两种方法在颜色区分和简单应用中适用,但针对高精度如印刷业的颜色检测,可能需要更精确的转换算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在搞颜色空间,想找找RGB到LAB的颜色转换具体算法(RGB---XYZ----Lab),查了很多资料,最后终于写出了具体算法,下面给出PS中具体转换算法和CIE具体转换算法,二者之间的转换还是有一些差异的。

1、PS中具体转换算法

void g_MyBGR2LabPS(const double B,const double G,const double R,LAB &lab)
{
//PS中RGB到LAB转换算法
//photosho默认的转换条件为:srgb and gamma2.2
double X,Y,Z;
double Fx=0,Fy=0,Fz=0;
double b=B/255.00;
double g=G/255.00;
double r=R/255.00;


// gamma 2.2
if ( r > 0.04045 )
r = pow(( r + 0.055 ) / 1.055, 2.4);
else               
r = r / 12.92;
if ( g > 0.04045 )
g = pow(( g + 0.055 ) / 1.055, 2.4);
else               
g = g / 12.92;
if ( b > 0.04045 )
b = pow(( b + 0.055 ) / 1.055, 2.4);
else               
b = b / 12.92;
// sRGB
X = r * 0.436052025 + g * 0.385081593 + b * 0.143087414;
Y = r * 0.222491598 + g * 0.716886060 + b * 0.060621486;
Z = r * 0.013929122 + g * 0.097097002 + b * 0.714185
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值