文档帮助中心文档
两个RGB向量之间的角度
角= colorangle (rgb1 rgb2)
例子
角= colorangle (rgb1,rgb2)计算两个RGB向量之间的角度。
角= colorangle (rgb1,rgb2)
角
rgb1
rgb2
全部折叠
读取测试图像。图像是使用佳能EOS 30D数码相机捕获的原始数据在纠正黑级并将强度缩放为每像素的16位。没有采用去脱模,白色平衡,颜色增强,噪声滤波或伽马校正。
raw = imread(“foosballraw.tiff”);
插值使用demosaic函数获取彩色图像。滤色器阵列图案为RGGB。
demosaic
a = demosaic(原始,“rggb”);
显示图像。因为图像处于线性RGB颜色空间中,所以应用伽马校正使图像正确地出现在屏幕上。
a_srgb = lin2rgb(a);imshow(a_srgb)
该图像包含X-Rite®ColorChecker®图表。指定地面真值光源,该光源是使用图表中的中性斑块提前计算出来的。
Illuminant_groundtruth = [0.0717 0.1472 0.0975];
为了避免扭曲光源的估计,通过创建蒙版来排除ColorChecker图。
mask = true(size(A,1), size(A,2));面具(920:1330 1360:1900)= false;
运行三种不同的光源估计算法:illumwhite,Illumgray.,illumpca.
illumwhite
Illumgray.
illumpca
illuminant_whitepatch = illumwhite (,“面具”,面具);illuminant_grayworld = illumgray (,“面具”,面具);illuminant_pca = illumpca (,“面具”,面具);
通过计算每个估计光源和地面真实之间的角度,将每个估计与地面真实相比较colorangle函数。角度越小,估计越好。估计的大小并不重要,因为只用光源的方向来白平衡具有彩色适应的图像。
colorangle
Angle_whitepatch = colorangle(illuminant_whitepatch, illuminant_groundtruth)
angle_whitepatch = 5.0921
= colorangle(illuminant_grayworld, illuminant_groundtruth)
angle_grayworld = 5.1036
Angle_pca = icorarangle(Illuminant_pca,Illiminant_groundtruth)
angle_pca = 5.0134
的价值angle_pca最小,说明PCA光照估计算法最接近该图像的地面真实光照。
angle_pca
第一个RGB向量,指定为3元素数字向量。
数据类型:单|双|uint8|uint16
单
双
uint8
uint16
第二个RGB向量,指定为3元素数字向量。
RGB向量之间的角度,返回为数字标量。
数据类型:双
角度误差是一个有用的度量标准,用来评估光源对地面真实值的估计。地面真光源与估计光源的夹角越小,估计越好。
whitepoint|chromadapt|Illumgray.|illumpca|illumwhite
whitepoint
chromadapt
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系