chromadapt
调整RGB图像的色彩平衡与色彩适应
语法
B = chromadapt(A,光源)
B = chromadapt(A,光源,名称,值)
描述
例子
通过指定灰度像素来平衡图像的颜色
读取带有强烈黄色的图像。显示图像,指定可选的放大倍率以缩小显示图像的大小。
A = imread(“hallway.jpg”);图imshow (,“InitialMagnification”、25)标题(原始图像的)
在图像中选择一个看起来应该是白色或灰色的像素,例如柱子上的一个点。不要选择饱和像素,例如天花板灯上的一个点。
X = 2800;Y = 1000;gray_val = [A(y,x,1) A(y,x,2) A(y,x,3)];
使用所选的颜色作为场景照明的参考,并校正图像的白平衡。
B = chromadapt(A,gray_val);
显示校正后的图像,设置可选的初始放大倍率。
图imshow (B,“InitialMagnification”、25)标题(“白平衡图像”)
柱子现在像预期的那样是白色的,图像的其余部分没有黄色。
线性RGB色彩空间中的色彩平衡图像
打开一个包含最小处理线性RGB强度的图像文件。
A = imread(“foosballraw.tiff”);
图像数据为校正黑色等级并缩放至16位/像素后的原始传感器数据。插值强度以重建颜色。彩色滤镜阵列图案为RGGB。
A = demosaic(A,“rggb”);
显示图像。因为图像是线性RGB颜色空间,应用gamma校正,使图像正确地显示在屏幕上。若要缩小图像,使其完全显示在屏幕上,请将可选的初始放大倍数设置为小于100的值
A_sRGB = lin2rgb(A);图imshow (A_sRGB,“InitialMagnification”、25)标题(原始图像的)
该图像在场景中有一个ColorChecker图表。要获得环境光的颜色,请在图表的一个中性斑块上选择一个像素。
X = 1510;Y = 1250;light_color = [A(y,x,1) A(y,x,2) A(y,x,3)]
light_color =1x3 uint16行向量7361 14968 10258
红色通道的强度低于其他两个通道的强度,这表明光线是蓝绿色的。
平衡图像的颜色通道。使用“色彩”
选项,指定图像和光源以线性RGB表示。
B = chromadapt(A,light_color,“色彩”,“linear-rgb”);
显示校正后的图像,应用gamma校正并设置初始放大倍率。
B_sRGB = lin2rgb(B);图imshow (B_sRGB,“InitialMagnification”、25)标题(“白平衡图像”)
确认灰色补丁已经颜色平衡。
patch_color = [B(y,x,1) B(y,x,2) B(y,x,3)]
patch_color =1x3 uint16行向量13010 13010 13010
正如预期的那样,色彩平衡的灰色补丁中的三个颜色通道具有相似的强度。
输入参数
一个
- - - - - -输入RGB图像
真实,nonsparse,米——- - - - - -n3组
输入RGB图像,指定为实数,非稀疏,米——- - - - - -n3数组。
数据类型:单
|双
|uint8
|uint16
光源
- - - - - -场景光源
实数,非空,3元向量
场景光源,指定为实数,非空,3元素矢量。光源必须与输入图像在同一颜色空间中,一个
.
数据类型:单
|双
|uint8
|uint16
名称-值对参数
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在单引号内(' '
).您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
I2 = chromadapt(I,uint8([22 97 118]),'ColorSpace','linear-rgb')
调整图像的色彩平衡,我
,在线性RGB色彩空间。
“色彩”
- - - - - -颜色空间
“srgb”
(默认)|“adobe rgb - 1998”
|“linear-rgb”
颜色空间的输入图像和光源,指定为逗号分隔对组成“色彩”
而且“srgb”
,“adobe rgb - 1998”
,或“linear-rgb”
.使用“linear-rgb”
选项来调整强度为线性的RGB图像的色彩平衡。
数据类型:字符
|字符串
参考文献
林德布卢姆,布鲁斯。色适应。http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html.
在R2017b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。