2018-11-20 15:49:34 [显示全部楼层]
10871浏览
查看: 10871|回复: 6

[讨论] TCS34725颜色传感器需要手动白平衡吗

[复制链接]

Richard_King  见习技师

发表于 2018-11-23 01:56:52

这两天刚刚试验了TCS34725和TCS3200,都需要做白平衡,否则颜色偏差很大。
回复

使用道具 举报

gada888  版主

发表于 2018-11-25 10:53:09

不需要
回复

使用道具 举报

gray6666  初级技神

发表于 2020-3-4 11:05:35

Richard_King 发表于 2018-11-23 01:56
这两天刚刚试验了TCS34725和TCS3200,都需要做白平衡,否则颜色偏差很大。

请问白平衡如何操作的?
回复

使用道具 举报

Richard_King  见习技师

发表于 2020-5-30 14:57:02

我的方法比较粗糙,但能达到一定的效果。

一、买来摄影用的白平衡标准颜色卡,一般有3张,纯黑、纯白、中等灰色。

二、让TCS34725颜色传感器识别白色标准卡,会发现得到的RGB肯定不是(255,255,255),例如为(Rmax,Gmax,Bmax),识别黑色标准卡也不是(0,0,0),例如为(Rmin,Gmin,Bmin)。

三、最大值和最小值之间就是TCS34725颜色传感器所识别的黑色和白色之间的区间,这个应该对应理论上的0-255区间。

四、假设:TCS34725颜色传感器对于颜色识别的数值是均匀、线性分布的,那么可以得到系数:Ry=(Rmax-Rmin)/255,Gy=(Gmax-Gmin)/255,By=(Bmax-Bmin)/255

五、如果TCS34725颜色传感器实际检测到的是(Rt,Gt,Bt),那么可以计算出:R=(Rt-Rmin)*Ry,G=(Gt-Gmin)*Gy,B=(Bt-Bmin)*By

当然,第四步和第五步也可以使用分布函数来计算。

如果想更加精确点,可以增加中等灰色的标准卡(127,127,127)作为中点、分段计算。

以上方式,都基于一个假设:就是传感器识别颜色的结果是均匀线性分布。也许实际不是这样,但我做了一个类似变色龙的实验:用这种方法计算得到RGB的值,然后去驱动RGB灯,显示的颜色和传感器读取的颜色还是十分接近的。(青色、淡蓝色、淡绿色还是有偏差)
回复

使用道具 举报

Richard_King  见习技师

发表于 2020-5-31 01:00:57

我的方法比较粗糙,但能达到一定的效果。

一、买来摄影用的白平衡标准颜色卡,一般有3张,纯黑、纯白、中等灰色。

二、让TCS34725颜色传感器识别白色标准卡,会发现得到的RGB肯定不是(255,255,255),例如为(Rmax,Gmax,Bmax),识别黑色标准卡也不是(0,0,0),例如为(Rmin,Gmin,Bmin)。

三、最大值和最小值之间就是TCS34725颜色传感器所识别的黑色和白色之间的区间,这个应该对应理论上的0-255区间。

四、假设:TCS34725颜色传感器对于颜色识别的数值是均匀、线性分布的,那么可以得到系数:Ry=(Rmax-Rmin)/255,Gy=(Gmax-Gmin)/255,By=(Bmax-Bmin)/255

五、如果TCS34725颜色传感器实际检测到的是(Rt,Gt,Bt),那么可以计算出:R=(Rt-Rmin)*Ry,G=(Gt-Gmin)*Gy,B=(Bt-Bmin)*By

当然,第四步和第五步也可以使用分布函数来计算。

如果想更加精确点,可以增加中等灰色的标准卡(127,127,127)作为中点、分段计算。

以上方式,都基于一个假设:就是传感器识别颜色的结果是均匀线性分布。也许实际不是这样,但我做了一个类似变色龙的实验:用这种方法计算得到RGB的值,然后去驱动RGB灯,显示的颜色和传感器读取的颜色还是十分接近的。(青色、淡蓝色、淡绿色还是有偏差)

回复

使用道具 举报

盗版软件  学徒

发表于 2022-10-16 14:33:43

对,我也发现这个问题了,不做白平衡根本没法用,这玩意。。。。太坑!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail