颜色识别系统设计-庄超超

(整期优先)网络出版时间:2020-11-04
/ 1

颜色识别系统设计 -庄超超

庄超超

无锡机电高等职业技术学校 江苏省无锡市 214028

1.概述

随着现代工业生产向高速化、自动化方向的发展,颜色识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、篮滤光片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D 电路进行采样,对该信号进一步处理,才能进行识别, 增加了电路的复杂性, 并且存在较大的识别误差, 影响了识别的效果。而TCS3200颜色传感器是美国TAOS公司生产的一种可编程并且能实现彩色光到频率转换的转换器,比市面上见到的光转电压颜色检测仪器在性能上有更多的优势。TCS3200 它对光的动态响应范围大, 标准输出频率范围为2Hz~500kHz,TCS3200 有两个可编程的引脚,使用者可以对100%、20%、2%或者是动力关闭模块的输出量程进行选择使用。TCS3200在不需要DCs 系统的情况下,给每个彩色通道至少能提供10 字节的分辨。TCS3200 可以用于彩色打印机、医疗诊断、LED 检测、液体颜色识别、电脑彩色监控标准、颜色产品加工控制、和油漆、纺织品、化装品及打印材料的彩色搭配等颜色检测产品。

2.方案设计

本次设计的要求包括硬件电路设计和软件编程的设计。由颜色识别与检测原理可知,设计硬件电路可包括单片机控制电路、TCS32000颜色采集、LCD显示三个部分,进而实现颜色的检测识别模式及RGB 值。软件编程设计方面,通过C语言设定不同的I/O口驱动显示,在基本R、G、B三基色的基础上设定不同的频率范围来鉴别不同的颜色,可采用定时器0的工作方式1和计数器0的计数方式1进行定时计数特定时间内的脉冲数目来实现。通过单片机动态扫描显示RGB的值和检测颜色的模式。这样就可完成了颜色检测系统的设计。

3.TCS3200识别原理

通常所看到的物体的颜色, 实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。任何一种颜色都可以用三种基本颜色按照不同的比例混合得到。这里介绍一种最典型的颜色模型,即RGB 模型。如图1所示,在这个颜色模型中, 3个轴分别为R、G、B。原点对应的为黑色(0, 0, 0),离原点最远的顶点对应白色(255, 255, 255)。由黑到白的灰度分布在从原点到最远顶点间的连线上, 正方体的其他六个角点分别为红、黄、绿、青、蓝、和品红。需要注意的一点是,RGB 颜色模型所覆盖的颜色域取决于显示设备因光电的颜色特性。每一种颜色都有唯一的RGB 值与它对应。

5fa23f85800f2_html_2a879f4efdef496f.png5fa23f85800f2_html_84ca79322db00e02.png

图1.RGB颜色模型

4.白平衡算法

颜色实际就是物体对光的反射或投射而表现出来在人眼中的反映, 而TCS3200 就是

通过分别检测一种颜色反映出来的光的红、绿、蓝分量, 通过把光强线性转换为频率信号,量化出R、G、B 值, 从而计算出颜色。值得注意的是, 不同的光线通过物体反映出来的光强是不同的, 而且非标准白光(RGB 三者不相等)在物体上反映出来的光强分量也是不同的。

为解决这个问题,就要进行白平衡, 即首先测量出基准光源的RGB 光强值, 再测量出在标准光源下物体所反映出的光强值,两者之比就是物体的反射(或透射)性质, 即物体的实际颜色。

5.测试结果分析

通过上面的测试结果可以看出,如果被测物体的颜色中,红色成分比较多,那么在显示的输出结果中的R 的值就大;同样的,如果绿色成分多,输出结果中的G 的值就大,如果蓝色成分多,输出结果中的B 的值就大。表格最后一列给出了这些颜色值对应的色彩图像,而表格的第一列给出了标准的色彩图像,可以看出,实际测得值与标准值之间还存在着一定的误差,这些误差产生的原因有很多,其中之一就是外界干扰光的存在,其次因为传感器芯片对光的敏感性不同, 此外可能的原因包括补光模块中的LED 二极管发出的光不稳定,还可能因为物体对光的反射能力不同等等,所有的这些原因导致了在测量的过程中存在的误差在所难免,只有不断的改善,以达到减小误差的目的,所以本系统还有待更进一步的研究以改善整个系统。

6.总结

通过系统测试,验证了色彩识别系统的可行性,通过对纯白色、纯绿色、纯蓝色三个纸板的检测,验证了本系统的确可以完成预期的任务,实现系统功能,但是与其真实值之间还有一定的误差,这也是本系统的不完善之处,这也为以后的更完善的功能更强大的精确度更高的色彩识别系统打了一个结实的基础。