20060619-Hue shifts near the L*=0 axis

本文通过实验展示了在L*a*b*颜色空间中,当颜色接近中性轴时,即使a*和b*的微小变化也会导致明显的色调偏移。通过对比两组具有相同亮度但a*和b*值不同的颜色,直观地说明了这一现象。

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

原文: http://blogs.mathworks.com/steve/2006/06/19/hue-shifts-near-the-l0-axis/

Let's explore this idea using the L*a*b* color space. L* is lightness, while a* and b* represent red-green and yellow-blue color differences, respectively. Colors for which a* and b* equal zero are neutral, or gray.

First let's look at a pair of reds that have the same luminance, and are separated by a distance of 20 in the a*-b* plane.

L = 85;
a = 70;
b = 0;

lab1 = [L a b];
lab2 = [L a+20 b];
Now convert these colors to sRGB space and display each as a single-pixel image.
cform = makecform('lab2srgb');
rgb1 = applycform(lab1, cform);
rgb2 = applycform(lab2, cform);

subplot(1,2,1)
imshow(reshape(rgb1,1,1,3))
title('L*a*b* = [85 70 0]')

subplot(1,2,2)
imshow(reshape(rgb2,1,1,3))
title('L*a*b* = [85 90 0]')

set(gcf, 'Color', 'w')
These colors are visibly different, but they have the same basic hue.
Now let's try the same thing with colors that are the same distance apart, but which are located close to the neutral axis.

lab3 = [85 10 0];
lab4 = [85 -10 0];

rgb3 = applycform(lab3, cform);
rgb4 = applycform(lab4, cform);

subplot(1,2,1)
imshow(reshape(rgb3,1,1,3))
title('L*a*b* = [85 10 0]')

subplot(1,2,2)
imshow(reshape(rgb4,1,1,3))
title('L*a*b* = [85 -10 0]')

set(gcf, 'Color', 'w')
These colors have a distinctively different hue - one is pink and the other is green. The moral of the story is that "small" changes in a*-b* are more likely to produce dramatic hue shifts for colors close to the L*=0 axis.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值