一种颜色识别的处理方法及系统与流程

文档序号:15553270发布日期:2018-09-29 00:31阅读:398来源:国知局

本发明涉及颜色识别技术领域,尤其涉及一种颜色识别的处理方法及系统。



背景技术:

随着颜色在工业生产控制中的作用越来越大,对颜色识别的要求也越来越高,颜色在本质上是物质辐射或反射光谱分布与人眼或光电传感器的积分效应,人眼的颜色识别不仅依赖于环境照度,还与光化学神经过程以及心理反应有关,通常难以对颜色进行定量的、标准的描述,目前现有的颜色识别方法由于光照环境变化、传感器响应的差异及不同的传感器图像算法等因素的影响而使得颜色在识别过程中存在数据稳定性差、准确性差以及成本高的问题。



技术实现要素:

针对上述技术问题,本发明提供了一种结构简单、成本低,识别精准,不易受外界和本身元器件差异影响的颜色识别的处理方法及系统。

为了解决上述技术问题,本发明提供的具体方案如下:一种颜色识别的处理方法及系统,包括以下步骤:s1、颜色传感器发出光信号对被测产品,被测产品将光信号反射出来,cpu处理器对颜色传感器的每个控制脚均输出一次50ms高电平,且间隔时间为100ms,依次点亮颜色传感器中的rgbled对被测物体发出光信号;s2、颜色传感器采集被测产品的颜色数据,将步骤s1中反射得到的r,g,b光信号转换成对应r,g,b电压并发送给cpu处理器;s3、cpu处理器将得到的r,g,b电压信号进行运算和对颜色传感器中的rgbled差异补偿后产生的数字信号再与存储器中的颜色校准值进行对比判断;s4、通过对比判断后cpu处理器控制显示模块显示颜色或读出模块读出颜色。

优选的,所述颜色传感器包括rgbled和光敏二极管,其中,rgbled和光敏二极管的数量均为一颗,实现成本低廉的效果。

优选的,所述颜色校准值通过以下方法获得:重复执行步骤s1和s2,对标准色卡橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色进行采样得到各自颜色的rgb电压信号,通过步骤s3的运算和差异补偿后得到各自对应的校准rgbad值和校准a、b、c值并存储。

优选的,所述校准rgbad值和校准a、b、c值的运算公式为:rgbad=255*v/3.3,所述v为采样得到的各自电压信号;校准a、b、c值为:白a=白r-白g,白b=白r-白b,白c=白g-白b;黑a=黑r-黑g,黑b=黑r-黑b,黑c=黑g-黑b;粉a=粉r-粉g-白a,粉b=粉r-粉b-白b,粉c=粉g-粉b-白c;红a=红r-经g-白a,红b=红r-红b-白b,红c=红g-红b-白c;紫a=紫r-紫g-白a,紫b=紫r-紫b-白b,紫c=紫g-紫b-白c;黄a=黄r-黄g-白a,黄b=黄r-黄b-白b,黄c=黄g-黄b-白c;绿a=绿r-绿g-白a,绿b=绿r-绿b-白b,绿c=绿g-绿b-白c;蓝a=蓝r-蓝g-白a,蓝b=蓝r-蓝b-白b,蓝c=蓝g-蓝b-白c;橙a=橙r-橙g-白a,橙b=橙r-橙b-白b,橙c=橙g-橙b-白c;a、b、c值分别代表红、绿、蓝三种颜色的ad差值,通过设定每种颜色的差值范围来决定该颜色的色彩宽度,

把3.3v的基准电压采用16进制方式分成255份来提高颜色传感器中读色头的精度,不同颜色的被测物产品,颜色传感器会有不同的rgb之间的差值,本发明就是根据a,b,c的差值来识别被测产品的颜色,由于每个颜色传感器里的rgbled都会有差异,故通过-白a,-白b,-白c进行补偿排除各自led的差异以提高读色的准确度,一致性和颜色范围,白a,白b,白c为存储器中的白色a,b,c校准值。

优选的,所述步骤s3中的对比判断具体为:经过步骤s1和s2对被测产品读一次颜色后通过步骤s3的运算和差异补偿得到r、g、b、a、b和c共6个值,将这6个值与校准rgbad值、校准a、b、c值进行比较来判别颜色;

a、将rgbad值与白色校准rgbad值对比:在大于白r-35或大于白g-35、大于白b-35范围内,则对比判断结果为白色;否则继续将rgbad值与黑色校准rgbad值对比:在小于黑r+3、小于黑g+3或小于黑b+3范围内,是则对比判断结果为黑色,否则进入b过程判断;

b、将a、b、c值与橙色、红色、黄色、粉色、蓝色、绿色和紫色校准a、b、c值进行对比判断,具体为:

b1、a、b、c值都为负值且b值小于蓝b+35、或在蓝a负15正20、蓝b负15正30、蓝c负15正25范围内,对比判断为蓝色,否则进入b2;

b2、a值为负值且c值为正值、或在绿a负15正20,绿b负15正50,绿c负15正30范围,对比判断为绿色,否则进入b3;

b3、仅c值为负值且c值小于粉c+6,且大于粉b-40、或在粉a负35正15、粉b负30正15、粉c负15正6范围内,对比判断为粉色,否则进入b4;

b4、a、b、c值都为正值且c值大于黄c-28、或在黄a负10正15、黄b负30正15、黄c负30正15范围,对比判断为黄色,否则进入b5;

b5、a、b值都为正值且c值大于橙c-5、或在橙a负50正15、橙b负60正15、橙c负10正30范围内,对比判断为橙色,否则进入b6;

b6、a、b值都为正值且c值大于红c-10,且大于红b-55、或在红a负45正10、红b负50正10、红c负8正10范围内,对比判断为红色,否则进入b7;

b7、c值为负值且b值小于紫b+10、或紫a负10正25、紫b负10正5、紫c负15正8范围内,对比判断为紫色,否则进入b8;

b8、不读色。

b1-b7对比判断顺序根据实际要求,哪个颜色先排除哪个后排除;上述的所有误差数值范围是根据标准色卡的校准值来确定,标准色卡的不同则判断误差范围数值不一样,调整它可调整橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色的各自颜色识别的色彩宽度范围大小。

优选的,所述r、g、b、a、b和c共6个值的运算公式:rgbad=255*v/3.3,其中v为采样得到rgb电压信号;a=r-g-白a、b=r-b-白b、c=g-b-白c。

本发明还提供了一种颜色识别玩具的系统,包括cpu处理器、与cpu处理器连接的颜色传感器、存储器、显示模块和读出模块。

与现有技术相比,本发明的有益效果在于:本发明先将采样到的颜色校准值存储在存储器中,在具体颜色识别处理中,将采集到的被测产品的r,g,b电压信号进行运算和对颜色传感器中的rgbled差异补偿后产生的数字信号再与存储器中的颜色校准值进行对比判断,得出被测产品颜色,本发明结构简单、成本低,识别精准,不易受外界和本身元器件差异影响。

附图说明

图1为本发明的方法流程图;

图2为本发明的系统框图。

具体实施方式

为了详细说明本发明的技术方案,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

请参照图1,一种颜色识别的处理方法,包括以下步骤:s1、颜色传感器发出光信号对被测产品,被测产品将光信号反射出来,cpu处理器对颜色传感器的每个控制脚均输出一次50ms高电平,且间隔时间为100ms,依次点亮颜色传感器中的rgbled对被测物体发出光信号;s2、颜色传感器采集被测产品的颜色数据,将步骤s1中反射得到的r,g,b光信号转换成对应r,g,b电压并发送给cpu处理器;s3、cpu处理器将得到的r,g,b电压信号进行运算和对颜色传感器中的rgbled差异补偿后产生的数字信号再与存储器中的颜色校准值进行对比判断;s4、通过对比判断后cpu处理器控制显示模块显示颜色或读出模块读出颜色。

cpu处理器对颜色传感器的每个控制脚均输出一次50ms高电平,且间隔时间为100m,能够保证rgb不相互干扰影响各自获取的ad值,根据实际情况来决定取值范围,要加快读取便减少数值,防止误数便加大数值。

步骤s1和s2所获得被测物休的颜色数据的具体原理为:因为不同颜色物体具有不同的反光曲律,对不同颜色的光反射出来亮度也会不一样。比如将rgb三束光依次照射在红色物体上,由于红色物体的曲律能反射红光,所以反射的红光亮度是最亮的,反射蓝光和绿光亮度较低。而颜色传感器中的光敏二极管同时能依次接受到rgb光在红色物体反射出来的亮度,使光敏二极管不同程度导通得到三种高低电压值信号,从而得到红色被测物休的颜色数据。同理,rgb光信号照在其它不同颜色的被测物体上也会反射得到不同的电压值信号。

颜色传感器包括rgbled和光敏二极管,其中,rgbled和光敏二极管的数量均为一颗,实现成本低廉的效果。

进一步的,所述颜色校准值通过以下方法获得:重复执行步骤s1和s2,对标准色卡橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色进行采样得到各自颜色的rgb电压信号,通过步骤s3的运算和差异补偿后得到各自对应的校准rgbad值和校准a、b、c值并存储。所述校准rgbad值和校准a、b、c值的运算公式为:rgbad=255*v/3.3,所述v为采样得到的各自电压信号;校准a、b、c值为:白a=白r-白g,白b=白r-白b,白c=白g-白b;黑a=黑r-黑g,黑b=黑r-黑b,黑c=黑g-黑b;粉a=粉r-粉g-白a,粉b=粉r-粉b-白b,粉c=粉g-粉b-白c;红a=红r-经g-白a,红b=红r-红b-白b,红c=红g-红b-白c;紫a=紫r-紫g-白a,紫b=紫r-紫b-白b,紫c=紫g-紫b-白c;黄a=黄r-黄g-白a,黄b=黄r-黄b-白b,黄c=黄g-黄b-白c;绿a=绿r-绿g-白a,绿b=绿r-绿b-白b,绿c=绿g-绿b-白c;蓝a=蓝r-蓝g-白a,蓝b=蓝r-蓝b-白b,蓝c=蓝g-蓝b-白c;橙a=橙r-橙g-白a,橙b=橙r-橙b-白b,橙c=橙g-橙b-白c;a、b、c值分别代表红、绿、蓝三种颜色的ad差值,通过设定每种颜色的差值范围来决定该颜色的色彩宽度,

把3.3v的基准电压采用16进制方式分成255份来提高颜色传感器中读色头的精度,不同颜色的被测物产品,颜色传感器会有不同的rgb之间的差值,本发明就是根据a,b,c的差值来识别被测产品的颜色,由于每个颜色传感器里的rgbled都会有差异,故通过-白a,-白b,-白c进行补偿排除各自led的差异以提高读色的准确度,一致性和颜色范围,白a,白b,白c为存储器中的白色a,b,c校准值。

进一步的,所述步骤s3中的对比判断具体为:经过步骤s1和s2对被测产品读一次颜色后通过步骤s3的运算和差异补偿得到r、g、b、a、b和c共6个值,将这6个值与校准rgbad值、校准a、b、c值进行比较来判别颜色;

a、将rgbad值与白色校准rgbad值对比:在大于白r-35或大于白g-35、大于白b-35范围内,则对比判断结果为白色;否则继续将rgbad值与黑色校准rgbad值对比:在小于黑r+3、小于黑g+3或小于黑b+3范围内,是则对比判断结果为黑色,否则进入b过程判断;

b、将a、b、c值与橙色、红色、黄色、粉色、蓝色、绿色和紫色校准a、b、c值进行对比判断,具体为:

b1、a、b、c值都为负值且b值小于蓝b+35、或在蓝a负15正20、蓝b负15正30、蓝c负15正25范围内,对比判断为蓝色,否则进入b2;

b2、a值为负值且c值为正值、或在绿a负15正20,绿b负15正50,绿c负15正30范围,对比判断为绿色,否则进入b3;

b3、仅c值为负值且c值小于粉c+6,且大于粉b-40、或在粉a负35正15、粉b负30正15、粉c负15正6范围内,对比判断为粉色,否则进入b4;

b4、a、b、c值都为正值且c值大于黄c-28、或在黄a负10正15、黄b负30正15、黄c负30正15范围,对比判断为黄色,否则进入b5;

b5、a、b值都为正值且c值大于橙c-5、或在橙a负50正15、橙b负60正15、橙c负10正30范围内,对比判断为橙色,否则进入b6;

b6、a、b值都为正值且c值大于红c-10,且大于红b-55、或在红a负45正10、红b负50正10、红c负8正10范围内,对比判断为红色,否则进入b7;

b7、c值为负值且b值小于紫b+10、或紫a负10正25、紫b负10正5、紫c负15正8范围内,对比判断为紫色,否则进入b8;

b8、不读色。

b1-b7对比判断顺序根据实际要求,哪个颜色先排除哪个后排除;上述的所有误差数值范围是根据标准色卡的校准值来确定,标准色卡的不同则判断误差范围数值不一样,调整它可调整橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色的各自颜色识别的色彩宽度范围大小。

步骤s3中差异补偿的作用是大货生产的每个颜色传感器中rgbled都有发光性能差异,在读色处理过程中对它们的差异进行补偿,以便每个产品的读色范围保持一致性,不易受外界和本身元器件差异影响,具体做法是先通过颜色校准找出rgb的差异,然后读色处理过程中通过-白a,-白b,-白c补偿来分别得到a、b和c值,其中白a,白b,白c为存储器中的白色a,b,c校准值且每个颜色传感器的校准值是不一样的。

其中,所述r、g、b、a、b和c共6个值的运算公式:rgbad=255*v/3.3,其中v为采样得到rgb电压信号;a=r-g-白a、b=r-b-白b、c=g-b-白c。

实施例二:

请参照图2,一种颜色识别的系统,包括cpu处理器、与cpu处理器连接的颜色传感器、存储器、显示模块和读出模块,本实施例在使用过程中,先通过颜色传感器发出光信号对被测产品,被测产品将光信号反射出来,cpu处理器对颜色传感器的每个控制脚均输出一次50ms高电平,且间隔时间为100ms,依次点亮颜色传感器中的rgbled对被测物体发出光信号;接着颜色传感器将反射得到的rgb光信号转换成对应r,g,b电压并发送给cpu处理器,cpu处理器将得到的r,g,b电压信号进行运算和对颜色传感器中的rgbled差异补偿后产生的数字信号再与存储器中的颜色校准值进行对比判断,通过对比判断后cpu处理器控制显示模块显示颜色或读出模块读出颜色。

具体的,在颜色传感器将rgb光信号转换成各自对应的电压信号后,cpu处理器将这些电压信号通过公式运算和差异补偿得到颜色数字信号,通过公式:rgbad=255*v/3.3得到rgbad值和通过公式a=r-g-白a、b=r-b-白b、c=g-b-白c分别得到a、b、c值;a、b、c值分别代表红、绿、蓝三种颜色的ad差值,通过设定每种颜色的差值范围来决定该颜色的色彩宽度;在进行颜色识别之前,存储器先完成对标准色卡橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色进行采样,得到各自对应的校准rgbad值和校准a、b、c值并存储,便于颜色处理过程中的对比判断。

cpu的对比判断过程具体如下:所述步骤s3中的对比判断具体为:经过步骤s1和s2对被测产品读一次颜色后通过步骤s3的运算和差异补偿得到r、g、b、a、b和c共6个值,将这6个值与校准rgbad值、校准a、b、c值进行比较来判别颜色;

a、将rgbad值与白色校准rgbad值对比:在大于白r-35或大于白g-35、大于白b-35范围内,则对比判断结果为白色;否则继续将rgbad值与黑色校准rgbad值对比:在小于黑r+3、小于黑g+3或小于黑b+3范围内,是则对比判断结果为黑色,否则进入b过程判断;

b、将a、b、c值与橙色、红色、黄色、粉色、蓝色、绿色和紫色校准a、b、c值进行对比判断,具体为:

b1、a、b、c值都为负值且b值小于蓝b+35、或在蓝a负15正20、蓝b负15正30、蓝c负15正25范围内,对比判断为蓝色,否则进入b2;

b2、a值为负值且c值为正值、或在绿a负15正20,绿b负15正50,绿c负15正30范围,对比判断为绿色,否则进入b3;

b3、仅c值为负值且c值小于粉c+6,且大于粉b-40、或在粉a负35正15、粉b负30正15、粉c负15正6范围内,对比判断为粉色,否则进入b4;

b4、a、b、c值都为正值且c值大于黄c-28、或在黄a负10正15、黄b负30正15、黄c负30正15范围,对比判断为黄色,否则进入b5;

b5、a、b值都为正值且c值大于橙c-5、或在橙a负50正15、橙b负60正15、橙c负10正30范围内,对比判断为橙色,否则进入b6;

b6、a、b值都为正值且c值大于红c-10,且大于红b-55、或在红a负45正10、红b负50正10、红c负8正10范围内,对比判断为红色,否则进入b7;

b7、c值为负值且b值小于紫b+10、或紫a负10正25、紫b负10正5、紫c负15正8范围内,对比判断为紫色,否则进入b8;

b8、不读色。

b1-b7对比判断顺序根据实际要求,哪个颜色先排除哪个后排除;上述的所有误差数值范围是根据标准色卡的校准值来确定,标准色卡的不同则判断误差范围数值不一样,调整它可调整橙色、红色、黄色、粉色、蓝色、绿色、紫色、白色和黑色的各自颜色识别的色彩宽度范围大小。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1