TCS34725颜色传感器需要手动白平衡吗
TCS34725颜色传感器需要手动白平衡吗这两天刚刚试验了TCS34725和TCS3200,都需要做白平衡,否则颜色偏差很大。 不需要 Richard_King 发表于 2018-11-23 01:56
这两天刚刚试验了TCS34725和TCS3200,都需要做白平衡,否则颜色偏差很大。
请问白平衡如何操作的? 我的方法比较粗糙,但能达到一定的效果。
一、买来摄影用的白平衡标准颜色卡,一般有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灯,显示的颜色和传感器读取的颜色还是十分接近的。(青色、淡蓝色、淡绿色还是有偏差) 我的方法比较粗糙,但能达到一定的效果。
一、买来摄影用的白平衡标准颜色卡,一般有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灯,显示的颜色和传感器读取的颜色还是十分接近的。(青色、淡蓝色、淡绿色还是有偏差)
对,我也发现这个问题了,不做白平衡根本没法用,这玩意。。。。太坑!
页:
[1]