[发明专利]一种快速色彩判别方法在审
申请号: | 201410248050.1 | 申请日: | 2014-06-05 |
公开(公告)号: | CN104023165A | 公开(公告)日: | 2014-09-03 |
发明(设计)人: | 崔治;葛友华;赵世田;卢倩;陈茂荣 | 申请(专利权)人: | 江苏紫光吉地达环境科技有限公司 |
主分类号: | H04N1/56 | 分类号: | H04N1/56 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 秦月贞 |
地址: | 224051 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 色彩 判别 方法 | ||
技术领域
本发明涉及一种判别方法,特别涉及一种快速色彩判别方法。
背景技术
目前,计算机系统、数码相机、扫描仪等数字图像处理采用的常用图像格式通常采用红绿蓝三原色系统(RGB)来描述具体某一个点的色彩。RGB模式适合于屏幕显示系统,也带来了图像处理的通用性。但对于图像的色彩分割来说是不适合的。因为 R、G、B 3个分量是高度相关的,即只要亮度改变, 3个分量都会相应改变, 而且由于RGB是一种非均匀化颜色空间, 要表达两种颜色之间的差异(色差),无法用较为简单的比较方式得出。由于在此系统中所有的颜色都是由这三种颜色合成,所以难以准确的判断某一具体的RGB数值所代表的颜色是人们常用的红橙黄绿青蓝紫等色彩中的哪一种。
根据色彩识别的特点,色彩的色相值Hue是一个重要的色彩判别依据,亮度B主要起到辅助判断灰度杂波的作用。
采用颜色的色相、饱和度和亮度(HSB)色彩空间对RGB色彩进行处理,必然涉及到图像的转换,但RGB数据转换到HSB格式数据需要经过多重逻辑判断及多步乘除运算,如果实时对一张数字图像每点数据进行计算将占用大量的计算时间。所以其使用受到较大限制,通常都在100万像素以下的实时视频图像处理或非实时采样图像中使用,其测量范围、精度及被测物体运动状态等应用条件在实时要求下受很大限制。
发明内容
本发明所要解决的技术问题是:提供一种快速色彩判别方法,能快速精确,基于查表原理,采用必要影响因素对待判别颜色做出色彩判断的方法。
本发明解决其技术问题所采用的技术方案是:本发明设计了一个维度为3,每一维度取值为0-255的三维数组A,数组A中每一个元素包含H和B两个参数;
颜色表数组的元素填充排列顺序是:将数组A中元素给定三个下标B,G,R,则某一元素可表示为A[B][G][R],数组结构的组织顺序是下标按如下规律变化:先下标B由0-255依次增大,然后下标G由0-255依次增大,然后下标R由0-255依次增大变化,对于需要进行颜色识别的像素,首先获取其RGB(红绿蓝分量)数值,并将R值对应颜色表中的下标R、将G值对应颜色表中的下标G、将B值对应颜色表中的下标B,则每一组RGB数值可以简单通过查表法在颜色表中找到相对应下标的元素的H(色相)值 与B(亮度)值,而不用再进行公式1的实时计算,节省大量运算时间,经实验证明可以使得色彩转换效率提高80%;在此HB颜色表基础上进行色彩识别与判断,只需要根据待判断的色彩RGB三个分量读取颜色表中的相应H和B数据,然后根据此两值按色彩判断流程来进行判断,基于以上方法可实现任意RGB颜色的识别,包括如下步骤:
步骤001. 初始化生成一个颜色表数组A,一个维度为3,每一维度取值为0-255的三维数组A,数组A中每一个元素包含H和B两个参数,此时数组内无数据;
步骤002. 颜色表的元素填充排列顺序是:将数组A中元素给定三个下标B,G,R,则某一元素可表示为A[B][G][R],数组结构的组织顺序是下标按如下规律变化:先下标B由0-255依次增大,然后下标G由0-255依次增大,然后下标R由0-255依次增大变化(见图2);
步骤003. 颜色表每个元素的H值与B值按如下公式计算,将所有数值计算完毕后保存此颜色表A,供后续使用;
步骤004.获取需要进行颜色识别的像素RGB(红绿蓝分量)数值,将R值对应颜色表中的下标R,将G值对应颜色表中的下标G,将B值对应颜色表中的下标B,则每一组RGB数值可以在颜色表中找到相对应下标的元素的H(色相)值 与B(亮度)值;
步骤005.当采集的RGB数据点已获得对应的HB值后,首先判断色调是否在某一目标彩色区域,通常为正负30度的区间,此边界条件依识别要求的不同略有变化之间,若满足此条件即判断是特定彩色点,然后判断此点亮度值是否大于阈值以排除干扰灰色点(见图1)。
所述步骤002中,所述颜色表A的排序方式,还包括其每个元素的下标定义顺序和每个元素所包含的为两个数值。所述步骤005中,根据H值与B值来判断颜色是否为某一目标色彩。
作为本发明的一种优选技术方案:所述步骤003中,此数据的存储方法为采用二进制方式存储,主要存储语句用C语言表示如下:
…………
for(int r=0;r<256;r++)
{ for(int g=0;g<256;g++)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏紫光吉地达环境科技有限公司,未经江苏紫光吉地达环境科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410248050.1/2.html,转载请声明来源钻瓜专利网。