压缩RGB颜色空间的方法及装置与流程

文档序号:13138629阅读:597来源:国知局
压缩RGB颜色空间的方法及装置与流程

本发明涉及图形图像识别领域,尤其涉及一种压缩rgb颜色空间的方法及装置。



背景技术:

当前颜色空间有很多种表示方法,如rgb表示、yuv表示、灰度表示。这些颜色虽然不完全对等,但通常可以相互转换(互换公式为现有技术,不再赘述)。由于rgb和yuv都是三维的,所以计算比较麻烦,而灰度表示是一维的,计算都相对简单的多,因而很多图形图像识别常以灰度进行运算。同时,灰度本身就是一个图像中的亮度成分,而人眼对图像的亮度是最敏感的,所以采用灰度表示的算法十分普遍。

可是在图形图像的对比领域,虽然灰度表示更符合于人的视觉区分,但并不意味着灰度合适于图像的采集和播放仪器,所有算法都是基于设备仪器(计算机)进行识别的,而不是由人来识别,换句话说,即有两种可能出现。一、两个颜色在彩色的效果中,人的肉眼容易区分,但在灰度显示中,二者的差别没有那么明显了;二、人的肉眼很难区分两个颜色,并不表示采集仪器也难区分。上面二者体现在数值上,就是这两个值可能差别很大,但转为灰度表示以后,反而两颜色之间的差异变小或没有得到增强。采用灰度显示的另一个不足是,灰色的颜色深度一般是256种(即0~255),这个空间比较大,在大规模运算的时候,效率较差。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中,色差小的两个或多个颜色在灰度表示中色差更小或没有得到增强,灰度颜色空间大,rgb颜色空间大,提供一种压缩rgb颜色空间的方法及装置。

本发明是通过以下技术方案解决上述技术问题的:

本发明提供一种压缩rgb颜色空间的方法,其特点是,包括:

s1、将rgb颜色空间划分为n3个子空间,选取每个子空间的顶点作为参考点,1≤n≤255且n为整数;

s2、分别计算图像中每个像素点的rgb值与每个参考点的rgb值之间的距离;

s3、分别判断计算出的距离是否大于一阈值,若是,则所述像素点的rgb值不属于所述距离对应的参考点,若否,则所述像素点的rgb值属于所述距离对应的参考点。

较佳地,s1中将rgb颜色空间等分为n3个子空间。

较佳地,所述方法还包括:在所述rgb值属于所述距离对应的参考点时,将所述像素点的rgb值替换为所述距离对应的参考点的rgb值。

较佳地,所述方法还包括:在所述rgb值属于所述距离对应的参考点时,将属于所述距离对应的参考点的数量加1。

较佳地,所述方法还包括:判断图像是rgb颜色空间还是yuv颜色空间时,若是rgb颜色空间则执行s2,若是yuv颜色空间则将图像转换至rgb颜色空间,然后执行s2。

本发明还包括一种压缩rgb颜色空间的装置,其特点是,包括:

第一划分单元,用于将rgb颜色空间划分为n3个子空间,选取每个子空间的顶点作为参考点,1≤n≤255且n为整数;

第一计算单元,用于分别计算图像中每个像素点的rgb值与每个参考点的rgb值之间的距离;

第一判断单元,用于分别判断计算出的距离是否大于一阈值,若是,则所述像素点的rgb值不属于所述距离对应的参考点,若否,则所述像素点的rgb值属于所述距离对应的参考点。

较佳地,所述第一划分单元还用于将rgb颜色空间等分为n3个子空间。

较佳地,所述第一判断单元还用于在所述rgb值属于所述距离对应的参考点时,将所述像素点的rgb值替换为所述距离对应的参考点的rgb值。

较佳地,所述第一判断单元还用于在所述rgb值属于所述距离对应的参考点时,将属于所述距离对应的参考点的数量加1。

较佳地,所述装置还包括:

第一转换单元,用于判断图像是rgb颜色空间还是yuv颜色空间时,若是rgb颜色空间则调用所述第一计算单元,若是yuv颜色空间则将图像转换至rgb颜色空间,然后调用所述第一计算单元。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

在自然环境中拍照,由于太阳光及其它光源的干扰,一些颜色会发生较大范围的改变,例如交通灯在晚上看是很刺眼的亮红色;但在下午顺光看的时候,则是深红色;再如我们在网上找到一些图片,由于采用了失真压缩算法,所以图像中各像素的颜色值虽然只发生了微小改变,而使整张图整体上发生了扭曲。如果将这两种颜色转成灰度,则因为亮度起到了较大的影响,因而与标准红色所转的灰度值差值巨大。而在使用本发明压缩后的rgb颜色空间中,由于同属“红色”系列,所以与标准红色所转的灰度值差值较小,所以匹配到的概率大,因而算法的有效性更高,通过阈值的调整,还可以使匹配达到最优化。

附图说明

图1为本发明较佳实施例1的压缩rgb颜色空间的方法的流程图。

图2为本发明较佳实施例1的压缩rgb颜色空间的方法中rgb颜色空间的划分示意图。

图3为本发明较佳实施例1的压缩rgb颜色空间的装置的示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

一种压缩rgb颜色空间的方法,如图1所示,包括:

步骤101、将rgb颜色空间划分为n3个子空间,选取每个子空间的顶点作为参考点,1≤n≤255且n为整数。

具体地,如图2所示,rgb颜色空间中包括r、g、b三个空间轴,每个轴的值都由0~255。优选地,将每个空间轴等分为n段,那么,r、g、b三个空间轴及r、g、b三个空间轴的n等分线将rgb颜色空间等分为n3个子空间,每个子空间有8个顶点,去除重叠的顶点,共形成了(n+1)3个顶点,即(n+1)3个参考点。图2中每个空间轴等分为2段,等分为8个子空间,形成了27个参考点。所述27个参考点可以按一定的规律排序编号,其规律不限。以实例进行说明,如按r、g、b的优先级,从小到大的顺序排列,可以得到表1。

表1

每个空间轴并不局限于等分为n段,也可以不等分或近似等分为n段,形成大小不同的子空间。

步骤102、判断图像是rgb颜色空间还是yuv颜色空间时,若是rgb颜色空间则执行步骤103,若是yuv颜色空间则将图像转换至rgb颜色空间,然后执行步骤103。具体的转换过程参考现有的转换公式,不再赘述。

步骤103、分别计算所述图像中每个像素点的rgb值与每个参考点的rgb值之间的距离。步骤103中计算一个像素点的rgb值与一个参考点的rgb值之间距离的计算公式为:

设一个像素点的rgb值为r1g1b1,一个参考点的rgb值为r2g2b2,距离为l:

l=|r2-r1|+|g2-g1|+|b2-b1|。

步骤104、分别判断计算出的距离是否大于一阈值,若是,则所述像素点的rgb值不属于所述距离对应的参考点,若否,则所述像素点的rgb值属于所述距离对应的参考点,将所述像素点的rgb值替换为所述距离对应的参考点的rgb值并将属于所述距离对应的参考点的数量加1。所述阈值的取值在64~192之间(包括边界值)。

下面以举例的方式进一步说明步骤103-104,定义所述阈值为68,图像中一个像素点的rgb值为(0,1,20):

该rgb值与参考点0(rgb值为(0,0,0))的距离为:|0-0|+|0-1|+|0-20|=21<=68,所以rgb(0,1,20)属于参考点0;

该rgb值与参考点26(rgb值为(255,255,255))的距离为:|255-0|+|255-1|+|255-20|=744>68,所以rgb(0,1,20)不属于参考点26。

需要说明的是,随着阈值的增大,有些rgb值,可以同时属于多个参考点,这是因为有些图像随着外界的影响,会发生颜色的变化,而引进的一种容错机制。

压缩后的rgb颜色空间,仍然保留有原有的颜色分布,而空间则由原来的16,777,216(=256×256×256)压缩到了现在的27个参考点值。步骤104能够统计中属于每个参考点的颜色数量,可用作其它图形图像识别算法的基础(例如求直方图)。尤其是解决常规同类边缘检测算法中因为灰度而导致算法识别准确率低的不足,特别是对于那些因为同一颜色亮度变化而产生的色变效果更好。

为了说明上述效果,对所述压缩rgb颜色空间的方法的使用进行详细说明。

以在一张复杂图中嵌入一张目标图为例,目标图在嵌入所述复杂图时要经过压缩,如果使用现有的压缩方式,可能会导致复杂图中的目标图颜色失真、边缘出现扭曲或整体出现的一些形变,如果要通过算法在复杂图中找到目标图,则需要优化图像识别算法。若采用本实施例的压缩rgb颜色空间的方法,目标图像中的每个像素点被归类于27个参考点,颜色上的微小变化都不复存在,因而可以得到较好的识别。

例如,目标图的原图为78×78(即6084)像素,经本实施例的压缩rgb颜色空间的方法,参照表1,得到图像中属于参考点18(即红色)的像素点有2817个,占46.3%;属于参考点13(即灰色)的像素点有1418个,占23.3%;属于参考点26(即白色)的像素点有1375个,占22.6%;剩余为其它颜色。着重关注红色和白色,各占46.3%和22.6%,即二者的比为46.3:22.6。在复杂图中嵌入的目标图不一定是78×78,那么如果想在复杂图中找到目标图,就不能按图像逐个比对的方法。通过分析可知,目标图即使是在复杂图中,目标图中红色和白色的比例仍然应该符合46.3:22.6的比例,因此,完全可以通过某个正方形区域内,红色和白色的区域是不是该比例进行判断。

为了在复杂图中识别出目标图,可以制定一个算法(该算法只是为了说明本发明的有效性,并不是本发明的一部分),即在复杂图中逐块选取某个正方形区域,如果该区域中,某一个轮廓与目标图完全一样的区域内,红、白两像素所占总数的比例与上述红、白两像素所占总数的比例都在某个阈值范围内,则可以判定为该区域“很大可能”是目标图;否则该处肯定不是目标图。如果一轮找完也没有找到目标图,则调整正方形区域的大小继续找,直到找到,或者全部找完后得出“没有目标图”的结论。如果想将上面“很大可能”转换为确定的结论,还可以结合其它算法,如红白的相对位置。

上述算法理论对于其它的颜色空间也都是符合的,但对于上例来说,由于多层压缩算法,使得图像因失真而产生扭曲,颜色微小变化等现象。而使用了本实施例的压缩rgb颜色空间的方法后,一些相似的颜色被归并到一个颜色中,所以这些微小的变化对算法影响并不大,因而算法的效果良好。

本实施例的一种压缩rgb颜色空间的装置,如图3所示,包括:

第一划分单元201,用于将rgb颜色空间划分为n3个子空间,选取每个子空间的顶点作为参考点,1≤n≤255且n为整数。优选地,所述第一划分单元还用于将rgb颜色空间等分为n3个子空间。

第一转换单元202,用于判断图像是rgb颜色空间还是yuv颜色空间时,若是rgb颜色空间则调用所述第一计算单元,若是yuv颜色空间则将图像转换至rgb颜色空间,然后调用所述第一计算单元203。

第一计算单元203,用于分别计算所述图像中每个像素点的rgb值与每个参考点的rgb值之间的距离。其中计算一个像素点的rgb值与一个参考点的rgb值之间距离的计算公式为:

设一个像素点的rgb值为r1g1b1,一个参考点的rgb值为r2g2b2,距离为l:

l=|r2-r1|+|g2-g1|+|b2-b1|。

第一判断单元204,用于分别判断计算出的距离是否大于一阈值,若是,则所述像素点的rgb值不属于所述距离对应的参考点,若否,则所述像素点的rgb值属于所述距离对应的参考点,将所述像素点的rgb值替换为所述距离对应的参考点的rgb值,和/或,将属于所述距离对应的参考点的数量加1。所述阈值的取值在64~192之间(包括边界值)。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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