发明内容
针对上述缺陷,本发明解决的技术问题是提供一种颜色识别装置,以及一种颜色识别方法,提供的颜色识别装置结构简单,对于元器件要求低,运算过程简单,成本低,可以获得广泛的应用。
本发明提供的技术方案是:提供一种颜色识别装置,,包括一颜色探测器和一数据处理单元,该颜色探测器包括发光源、感测器和外壳:
所述外壳用于固定所述发光源和感测器;
所述发光源用于向待测物发射红绿蓝三基色的探测光;
所述感测器用于接收所述红绿蓝三基色探测光照射待测物分别产生的反射光,根据所述反射光的光参量产生与待测物颜色相应的三个电信号;
所述数据处理单元用于分别接收所述颜色探测器输出的三个电信号,根据各电信号分别产生相应的探测数据,并生成与各探测数据对应的三组颜色判断结果,将出现最多的颜色判断结果作为最终的颜色识别结果,该探测数据至少对应一种颜色。
优选地,所述发光源是红绿蓝三基色发光二极管。
优选地,所述红绿蓝三基色发光二极管是三个单色发光二极管,或者是一个三色发光二极管。
优选地,所述感测器包括光敏电阻。
优选地,所述感测器还包括分压电阻,所述光敏电阻通过分压电阻分压而产生与待测物颜色相应的电信号。
优选地,所述感测器位于所述发光源发出的红绿蓝三基色探测光的中心位置。
优选地,还包括:输出单元,连接至该数据处理单元,用于输出所述颜色识别结果。
优选地,所述数据处理单元包括:
模数转换单元,用于接收所述颜色探测器输出的电信号,并根据该电信号生成探测数据;
颜色参数存储单元,用于存储各种色彩的标准颜色参数;
对比运算单元,用于将模数转换单元获得的探测数据与颜色参数存储单元存储的标准颜色参数比对,得到待测物的颜色识别结果。
优选地,所述数据处理单元进一步包括色彩信息存储单元,用于存储所述模数转换单元生成的代表色彩信息的探测数据。
优选地,所述数据处理单元为可编程器件SPCE061A芯片。
优选地,还包括选择按键,用于启动不同的操作;所述操作包括:进行颜色识别;清除存储的颜色探测数据;将颜色探测数据存储在色彩信息存储单元;进行环境光源校正。
本发明还提供一种颜色识别方法,其特征在于,包括步骤:
1)依次向待测物发出红绿蓝三基色的探测光;
2)依次感测前述红绿蓝三基色的探测光照射待测物分别产生的反射光;根据所述反射光的光参量依次产生与待测物颜色相应的电信号;
3)依次接收所述感测生成的电信号,产生相应的探测数据;
4)生成与所述探测数据对应的待测物的颜色识别结果;
所述步骤4)中生成待测物的颜色识别结果包括:根据所获得的对应于三基色的探测数据,查询标准颜色参数表,获得对应于每一基色的颜色判断结果,并将出现最多的判断结果作为最终的颜色识别结果。
优选地,用某一种基色光进行多次颜色识别,以判断结果中出现最多的颜色,作为该基色的颜色判断结果。
优选地,所述步骤1)之前还包括环境光源校正步骤:
141)同时发出所述红绿蓝三基色的探测光,照射白色待测物;
142)感测白色待测物的反射光,获得此亮度环境下的参量;
143)将步骤142)获得的参量与所述标准颜色参数表的白色数据对比,计算其线形比例关系,以此比例作为校正比例值;
144)使用该校正比例值对所述标准颜色参数表进行校正。
优选地,在所述步骤1)之前还包括现场记录色彩:利用红绿蓝三基色的探测光依次探测不同颜色的待测物,分别接收该三基色探测光对所述不同颜色待测物探测生成的具有差异的探测数据,存储对应前述具有差异的探测数据所代表的色彩信息数据;所述步骤4)中的生成待测物的颜色识别结果是指根据步骤3)产生的探测数据查找与其对应的色彩信息数据。
相对于现有技术,本发明的优点在于:本发明的颜色识别装置采用可发出红绿蓝三基色光的发光源,通过发出三基色的探测光,在待测物上获得对应于红绿蓝三基色的反射光,并使用感测器依序进行检测,得到对应于三基色的电参数。由于探测光源为基色光源,因此对感测器的要求得以降低,因此,本发明的检测元件简单,成本低廉;并且与现有技术的白色光源相比,三基色发光源易于获得,并且结构也相对简单。
本发明的颜色识别装置和方法中,只需要针对与三基色探测光的反射光对应的电信号进行处理,其运算过程相对现有技术得到简化,易于实现。
此外,本发明的优选方案中,采用红绿蓝三基色发光二极管作为发光源,采用一个普通的光敏电阻依序检测反射光,获得对应于三基色的电参数,相对三基色敏感的检测元件,成本较少;同时由于只需一个检测元件,因此本发明的结构更为简单。
此外,本发明将电信号对应的探测数据与预先存储的对应于三基色的参数表进行比较,获得每次测量的颜色识别判断结果。根据若干次三基色发光源的判断结果,将其中最多的颜色判断结果作为最终的颜色判断结果。这种颜色判断方法不需要复杂的计算,简单明确,易于实现。
此外,本发明在上述方案的基础上,还提供了一种简单易行的亮度校正方法,使检测结果更为准确,可以较好的校正亮度不同引起的颜色探测偏差,而且简单易行。
本发明还提供了更为灵活的颜色识别方法,即先进行颜色探测,记录颜色数据,再根据记录值进行颜色识别,增强了颜色探测的灵活性,使本发明具有更加广泛的应用范围。
具体实施方式
请参考图1,为本发明第一实施例的结构框图。
该颜色识别装置包括颜色探测器11、数据处理单元12和颜色识别输出单元13。
所述颜色探测器11用于向待测物发出适当的探测光,并接收待测物的反射光,根据该反射光输出适当的电参量。
请一并参考图2,该颜色探测器11包括发光源111、感测器1 12和外壳113。
所述颜色探测器的发光源111包括红、绿、蓝三色发光二极管,所述红、绿、蓝三色发光二极管可以是三个单色发光二极管(图2中R LED,G LED,B LED),也可以是一个三色发光二极管(图未示),其亮度可以为高亮度,也可为低亮度。
所述感测器112为光敏器件,较佳的选择是与人眼的感光曲线接近的硫化镉光敏电阻(CdS)。该光敏电阻在接收反射光时,对于不同颜色会产生不同的阻值变化,根据其阻值变化可以获得颜色信息。
可以将该光敏电阻与其它分压电阻分压,获得适当电压值的电信号,该电压值即为颜色探测器的输出信息。
该感测器112的最佳安装位置在所述三色发光二极管的中心位置。根据三色发光二极管与待测物的距离,以及该探测器与待测物的距离,适当的调整所述感测器112与所述发光源111之间的距离,使该感测器112可以接收到任何由待测物反射的光线。
所述外壳113用于固定所述三基色发光二极管与探测器,并隔离外界光线。为减少外界光线对颜色探测器的影响,该外壳最好使用不透光材料制作。
所述数据处理单元12,用于接收所述颜色探测器11输出的电压,并根据该电压信号进行运算,获得颜色识别结果。该单元包括模数(A/D)转换单元121、颜色参数存储单元122、对比运算单元123。
所述A/D转换单元121用于接收所述颜色探测器输出的电参量,并将该电参量数字化。该经数字化的数据作为探测数据输出。
所述颜色参数存储单元122用于存储各种色彩的基本参数。这些参数组成标准颜色参数表。该表是根据所述颜色探测器11在标准条件下采集1 8种主要色彩所生成的对应参数表。
具体采集过程是使用所述颜色探测器11,分别驱动三基色发光二极管,照射某种色彩的标准块,将所述感测器112获得的电参量(如电压值)经过所述A/D转换单元的转换,获得相应的探测数据。每一种颜色可以获得对应于三种颜色的发光二极管的三组数据。18种颜色获得54组数据。每一组数据均为一定的数值范围,这是由于测量值有一定的误差,该数值范围使其对误差有一定的兼容性。
采集上述参数时,需保证下述参数恒定:颜色探测器11中红绿蓝三色发光二极管与待测物的距离,感测器112与待测物的距离,感测器参数以及发光二极管光照强度。
上述参数采集过程应该作为使用该颜色识别装置的准备过程,在将该颜色探测器11用于颜色探测之前即已获得并且存储。一个标准的参数表如下表所示。
颜色名称 |
R参数范围 |
G参数范围 |
B参数范围 |
白色 |
0x1e00~0x2600 |
0x1a00~0x2100 |
0x3000~0x3800 |
八度灰 |
0x2700~0x3000 |
0x2100~0x2900 |
0x3a00~0x4100 |
六度灰 |
0x3400~0x3b00 |
0x2a00~0x3200 |
0x4400~0x4b00 |
五度灰 |
0x3 800~0x3f00 |
0x2f00~0x3600 |
0x4700~0x4e00 |
三度灰 |
0x5e00~0x6500 |
0x5400~0x5b00 |
0x6300~0x6b00 |
黑色 |
0x6400~0x6b00 |
0x5b00~0x6200 |
0x6a00~0x7200 |
蓝色 |
0x6500~0x7800 |
0x4500~0x5500 |
0x5000~0x6100 |
绿色 |
0x5600~0x5e00 |
0x3300~0x3b00 |
0x5c00~0x6300 |
红色 |
0x2000~0x2800 |
0x4800~0x4f00 |
0x5b00~0x6200 |
黄色 |
0x1c00~0x2300 |
0x1d00~0x2500 |
0x53 00~0x5b00 |
红紫色 |
0x2100~0x2800 |
0x5000~0x5800 |
0x5300~0x5b00 |
青色 |
0x6400~0x7200 |
0x3c00~0x4400 |
0x4e00~0x5b00 |
桔黄色 |
0x1e00~0x2500 |
0x3700~0x3f00 |
0x5600~0x5e00 |
紫色 |
0x3300~0x3b00 |
0x5300~0x5a00 |
0x5500~0x5d00 |
深肤色 |
0x2c00~0x3300 |
0x4200~0x4a00 |
0x5b00~0x6300 |
浅肤色 |
0x1c00~0x2300 |
0x1d00~0x2600 |
0x3d00~0x4400 |
粉蓝色 |
0x2900~0x3100 |
0x2100~0x2800 |
0x3400~0x3b00 |
天蓝色 |
0x5d00~0x6500 |
0x2d00~0x3500 |
0x3d00~0x4500 |
所述对比运算单元123,用于将经过A/D转换获得到的探测数据与颜色参数存储单元122中的基本参数数据进行比对,以得出待测物的最终颜色识别结果。该对比运算单元123接收所述A/D转换单元输出的探测数据,将该探测数据与所述颜色参数存储单元122存储的参数进行比对。当使用红色发光二极管作为探测光时,则将A/D转换单元输出的探测数据与所述颜色参数存储单元存储的红色光的数据进行比对,当所述探测数据在红色光数据中某一组的数值范围内,则判断待测物的颜色为该组数据对应的颜色。上述测量可以进行若干次,如二十次,记录每次的判断结果。同样可以获得使用绿色、蓝色发光二极管作为探测光的相应判断结果。将上述判断结果中出现最多的判断结果作为该待测物的颜色识别结果输出。
所述输出单元13,用于接收上述颜色识别结果,并进行输出,以便使用者获知探测结果。该输出单元根据不同的需求,可以采用显示单元,或者语音播放单元。
此外,该颜色识别装置的驱动单元14用于驱动所述探测器的红绿蓝三个光源,使其发光。该驱动单元可以为集成芯片(如:74LS245),也可以为分立元件三极管。
此外,所述颜色识别装置内还可以包括色彩信息存储单元(图未示),用于存储所述模数转换单元生成的代表色彩信息的探测数据。
本发明同时提供使用上述颜色识别装置进行颜色识别的方法。
请参考图3,是本实施例颜色识别装置的识别方法流程图。该识别方法的原理是:在红绿蓝三基色的光照下,不同颜色的待测物具有不同的反射强度,感测器112输出的电参量因此具有不同的输出值,根据该输出值可以实现待测物颜色的识别。由于不同颜色中具有不同的红绿蓝三色比值,因此综合三基色各自的颜色判断结果,可以获得对待测物颜色的准确判断。该颜色识别方法的具体流程包括:
步骤S31,颜色探测器11的红绿蓝三色二极管依次点亮,产生探测光,该探测光照射待测物,在待测物表面产生反射光。
步骤S32,颜色探测器11的感测器112依次感测所述探测光照射待测物获得的反射光,并依次输出相应的电信号。
由于每种颜色对红绿蓝三原色的反射率不同,因此,每种颜色会产生不同强度的反射光;同时,每种颜色中包含的三原色的比值不同,上述两种因素都使感测器112在感测不同颜色的待测物时,产生不同数值的电信号。对光敏电阻而言,就是光敏电阻感测反射光时,根据不同的反射光产生不同的电阻变化。该电阻变化通过与其它电阻分压获得电压输出,此输出的电压即为所述颜色探测器的输出电信号。
步骤S33,数据处理单元12依次接收所述感测器产生的电信号,并将该电信号数字化,此数字化信号即为探测数据,可以作为颜色识别的依据。
由于感测器112输出的电信号为模拟量,首先要将该模拟量数字化,以便用于颜色识别。所述模拟量数字化由数字处理单元12的A/D转换单元121完成,该单元接收所述感测器112输出的电信号,将其转化为数字量。具体的转化方法,应当根据感测器112输出的不同的电信号采用相应的方法,可以使用专用的A/D转换模块。
步骤S34,数据处理单元12的对比运算单元123根据上述数字化后的颜色探测数据,向所述颜色参数存储单元122查询。
上述查询是根据获得颜色探测数据,以及获得该数据的探测光颜色,在所述标准颜色参数表中,找到所述数据所在的组别,并查知所对应的颜色,该颜色即为此颜色探测数据的颜色识别结果。将每一个颜色探测数据的颜色识别结果记录在存储单元中。
步骤S35,根据红绿蓝三色探测光的多次探测结果,进行颜色判断,获得最终的颜色识别结果。
由于每一次探测可能有误差,可能获得不同的探测值;并且依据不同颜色的探测光获得的探测结果也有可能不相同,因此,需要对多次探测的结果做出综合判断。
例如,使用每种探测光进行20次探测,将某种探测光每次探测获得的颜色探测数据获得的颜色识别结果列表,将其中出现最多的结果作为该种探测光对待测物的颜色识别结果。将三种颜色的颜色识别结果列表,将其中出现次数最多的颜色作为对该待测物的最终颜色识别结果。如果三种探测光获得的识别结果都不相同,则可以找出各个颜色的探测光的每次探测结果,将其中出现最多的颜色识别结果作为颜色识别结果。
步骤S36,输出单元1 3接收上述颜色识别结果,并将其以合适的方式输出。所述输出方式可以为语音播放形式,也可以为数字显示形式。
在步骤S31之前,还可以先进行环境光源校正,对环境光源进行整体亮度校正。
所述环境光源校正是指:为了排除外部光源的亮度对颜色判断的影响,在进行颜色识别前,测量该环境光源对颜色识别的影响,以便在后续的颜色识别过程中考虑。
请参看图4,为进行环境光源校正的流程图。
步骤S41,同时点亮所述三基色光源,照射白色待测物。
步骤S42,感测器112感测白色待测物的反射光,获得此亮度环境下的参量。
步骤S43,将步骤S42获得的参量与所述标准颜色参数表的白色数据对比,计算其线形比例关系。以此比例作为校正比例值。
请参考图5,为本发明第二实施例的电路图。
颜色探测器发光源为三个发光二极管D1、D2、D3,分别为绿(Green)、蓝(Blue)、红(Red)三色的发光二极管,上述发光二极管的阴极与电源地相连接。颜色探测器的感测器为一光敏电阻CDS,该光敏电阻CDS一端通过一个150K的电阻R4连接电源Vcc,另一端连接电源地。
可编程器件SPCE061A芯片作为数据处理单元,该可编程器件SPCE061A芯片可以根据内部设置的程序进行数据处理,并具有存储数据的存储单元。其IOA2端口连接所述光敏电阻CDS与电阻R4的共同端,该IOA2端口连接于芯片内一A/D转换器(图未示)。所述光敏电阻CDS与电源地之间的电压通过该端口输入该A/D转换器,使光敏电阻检测到的电参量(此处为与电源地之间的电压)经过该A/D转换器转化为相应的数字量。该可编程芯片的输入输出端口IOA8~IOA11通过按键SW1~SW4连接电源Vcc。上述按键SW1~SW4用于选择工作模式。
八双向总线收发器芯片74LS275作为驱动单元,用于驱动所述颜色探测器的发光源,即绿蓝红三色发光二极管D1、D2、D3。该芯片的A1~A3输入端连接所述可编程器件SPCE061A芯片的IOB8~IOB10三个输入输出端口,其输出端B1~B3分别通过一个500欧姆的电阻连接所述发光二极管D1、D2、D3的阳极。所述可编程器件SPCE061A芯片的IOB8~IOB10输出高电平信号给74LS245,经过74LS245增强了驱动能力后,从所述74LS245的输出端B1~B3同步输出相同的信号,驱动发光二极管稳定发光。
上述颜色识别电路进行颜色识别的工作过程如下:在一次检测周期中,所述可编程器件SPCE061A芯片IOB8~IOB10三个输入输出端口按200ms的时间间隔分别点亮三个发光二极管,使其照射到待测物上。同时,在每一个发光二极管照射时,该芯片通过IOA2反复多次采集光敏电阻CDS所检测到的电压值,该电压值经过芯片内的A/D转换电路,转换为介于0x0000~0xffff之间的数字值。将转换获得的数值与预先建立并存储的颜色参数进行比较运算,以识别出物体颜色。上述比较运算的具体方式与第一实施例相同,此处不再赘述。最后,将颜色识别结果通过芯片内一D/A转换通道,根据预先录制好的各种颜色语音,通过语音播放形式进行输出。还可以通过芯片外接显示单元,将识别结果传输给该显示单元,采用显示方式进行输出。
为了进行更精确地识别,以及更灵活的利用该电路提供的功能,该电路设置了选择按键SW1~SW4,每一个选择按键对应于该电路的一种工作模式。对该电路而言,实际上就是对应于一个特定的程序。
所述按键SW1按下,该电路进行标准的颜色识别程序。即根据标准颜色参数表检测标准18色,实现颜色的识别。该工作过程已如上所述,不再赘述。
所述按键SW2按下,对标准18色进行环境光源的整体亮度校正。进行亮度校正的意义以及方法已在第一实施例中叙述,此处不再赘述。
所述按键SW3按下,该电路通过所述颜色探测器探测所需识别的色彩,并存储探测获得的颜色识别数据。这一按键的设置是为了增加颜色识别的灵活性,使该颜色识别装置可以先进行预先学习探测,再进行探测识别。也就是提供一种现场记录色彩方式,该方式是指其没有特别定义其颜色名称,但能辨别出不同颜色的特性差异区分出颜色之间的不同,可以作为识别的一种方式以增加产品的多样性。
所述按键SW4按下,该电路清除存储的颜色识别数据,以便重新记录和识别另一批颜色。
实际控制中,可以通过该四个按键的组合实现不同的颜色识别方案。以下介绍主要的颜色识别方案。
第一种方案:直接通过按键SW1实现对待测物颜色的识别。
按下按键SW1,使用所述颜色探测器探测待测物,上述颜色识别装置按照前述的基本工作过程,对该待测物的颜色进行判断,识别。实际使用中,首先将探测器放置于正确的检测位置,再按下按键SW1,则该电路进行所述颜色识别工作,并报出结果。
第二种方案:先进行环境光源校正,对标准颜色参数表进行校正更新,再对待测物颜色进行识别。
当环境光强弱改变时,先按下按键SW2进行整体亮度校正。进行亮度校正的方法如第一实施例所述,此处不再赘述。
经过上述亮度校正后,按下所述按键SW1,进行颜色识别,此时就以校正后的标准颜色参数表作为颜色识别的依据。
第三种颜色识别方案。
先按下按键SW4,清除之前记录的颜色数据。然后按下按键SW3,并用所述探测器对待测物进行探测,此时所需识别的色彩数据被记录并存储。最后,按下按键SW1,进行颜色识别。
也就是说,提供一种现场记录色彩的方式,即用探测器预先依次在各个需要识别的被测物上探测一下,以将各色彩信息存储在存储器中。此后再针对每个被测物进行识别时,即可分辨出刚才其所对应的所记录的各个色彩,并采用数字及其他方式表示,从而使得产品的应用更具多样性和灵活性。
其具体的实施可以是:利用红绿蓝三基色的探测光依次探测不同颜色的待测物,分别接收该三基色探测光对所述不同颜色待测物探测生成的具有差异的探测数据,存储对应前述具有差异的探测数据所代表的色彩信息数据。
随后,针对单个的待测物进行探测,将探测得到的探测数据与现场记录的色彩信息数据进行匹配,匹配的结果即为颜色识别结果。
此外,所述现场记录色彩信息数据通过一相应的区间处理,也可以应用于对其他的需要探测的物体进行探测。
请参见图6,为该电路工作方法的流程图。
步骤S61,对该电路进行复位或者唤醒。
步骤S62,运行系统初始化程序。
步骤S63,运行光敏电阻CDS初始化程序。
步骤S64,运行功能键扫描程序。
该程序依次扫描所述按键SW1-SW4,并根据获得的检测结果,进入相应的执行程序。
步骤S65,执行功能键对应的执行程序。所述按键SW1-SW4对应的程序功能如前所述。
步骤S66,返回步骤S64。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。