rgb空间转换为luv

rgb空间先要转换为xyz空间,然后再从xyz空间转换为Luv空间

对于标准RGB空间 转换为xyz空间公式

var_R = ( R / 255 )        //R from 0 to 255

var_G = ( G / 255 )        //G from 0 to 255

var_B = ( B / 255 )        //B from 0 to 255

if ( var_R > 0.04045 )

var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4

else                   var_R = var_R / 12.92

if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4

else                   var_G = var_G / 12.92

if ( var_B > 0.04045 ) var_B = ( ( 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

X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805

Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722

Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505

xyz空间转换为Luv空间公式

var_U = ( 4 * X ) / ( X + ( 15 * Y ) + ( 3 * Z ) )

var_V = ( 9 * Y ) / ( X + ( 15 * Y ) + ( 3 * Z ) )

var_Y = Y / 100

if ( var_Y > 0.008856 ) var_Y = var_Y ^ ( 1/3 )

else                    var_Y = ( 7.787 * var_Y ) + ( 16 / 116 )

ref_X =  95.047        //Observer= 2°, Illuminant= D65

ref_Y = 100.000

ref_Z = 108.883

ref_U = ( 4 * ref_X ) / ( ref_X + ( 15 * ref_Y ) + ( 3 * ref_Z ) )

ref_V = ( 9 * ref_Y ) / ( ref_X + ( 15 * ref_Y ) + ( 3 * ref_Z ) )

CIE-L = ( 116 * var_Y ) - 16

CIE-u = 13 * CIE-L* ( var_U - ref_U )

CIE-v = 13 * CIE-L* ( var_V - ref_V )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值