主要内容

illumwhite

利用白斑Retinex算法估计光源

描述

光源= illumwhite (一个估计RGB图像中的场景照度一个假设最亮的1%的红色、绿色和蓝色值代表白色。

例子

光源= illumwhite (一个topPercentile方法估计照度topPercentile最亮的红色、绿色和蓝色值的百分比。

光源= illumwhite (___“面具”,面具仅使用由二进制掩码定义的ROI内的像素估计照明。

例子

全部折叠

打开一个图像并显示它。指定一个可选的放大倍数以缩小显示图像的大小。

一个= imread (“foosball.jpg”);图imshow (,“InitialMagnification”、25)标题(原始图像的

图中包含一个axes对象。标题为Original Image的axes对象包含一个Image类型的对象。

JPEG文件格式将图像保存在伽玛校正sRGB颜色空间中。撤消伽马校正使用rgb2lin函数。

A_lin = rgb2lin(一个);

从最亮的5%像素估计场景照明。因为输入图像已经线性化,所以illumwhite函数返回线性RGB颜色空间中的光源。

topPercentile = 5;光源= illumwhite (topPercentile)
光源=1×30.7333 0.8314 1.0000

的第三个系数光源是最大的,这与图像的蓝色调是一致的。

通过提供估计的光源来校正颜色chromadapt函数。

B_lin = chromadapt (A_lin光源,“色彩”“linear-rgb”);

要在屏幕上正确显示白平衡图像,请使用lin2rgb函数。

B = lin2rgb (B_lin);

显示校正后的图像,设置可选放大倍率。

图imshow (B,“InitialMagnification”25)标题([“使用白色补丁和topPercentile=的白平衡图像”...num2str (topPercentile)))

图中包含一个axes对象。标题为White- balanced Image using White Patch with topPercentile=5的axes对象包含一个类型为Image的对象。

输入参数

全部折叠

RGB图像,指定为——- - - - - -n3数值数组。

数据类型:||uint8|uint16

用于亮度估计的最亮颜色的百分位数,指定为范围[0,100)内的数值标量。要返回红色、绿色和蓝色的最大值,请设置topPercentile为0。

图像显示了用于估计光源的红色、绿色和蓝色值。每个颜色通道的选择是独立的。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

图像掩码,指定为——- - - - - -n逻辑或数字矩阵。掩码表示输入图像的像素一个在估计光源时使用。计算中不包括像素一个对应的掩码值为0。默认情况下,掩码都是1,所有像素都在一个都包含在估算中。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

输出参数

全部折叠

场景照明的估计,作为一个3元素的数字行向量返回。这三个元素对应着光源的红、绿、蓝值。

数据类型:

参考文献

[1] it,马克。“白色补丁Retinex。”颜色恒常性.奇切斯特,西苏塞克斯:约翰·威利父子出版社,2007年。

版本历史

介绍了R2017b

Baidu
map