RGB模式图像的色彩拉伸方法和系统技术方案

技术编号:10075750 阅读:206 留言:0更新日期:2014-05-24 06:19
一种RGB模式图像的色彩拉伸方法,包括以下步骤:获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值;从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值;根据读取的颜色拉伸值构建所述RGB模式图像的色彩拉伸图像;所述RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的颜色拉伸值。上述方法中,片段渲染器只需要查找当前处理的纹理元素的颜色值在RGB拉伸值纹理中的相应通道中对应的列上存储的颜色拉伸值,即可得到当前处理的纹理元素的颜色拉伸值,省去了颜色拉伸值计算过程,从而降低了色彩拉伸运算量。此外,还提供一处RGB模式图像的色彩拉伸系统。

【技术实现步骤摘要】

本专利技术涉及图像处理技术,特别涉及一种RGB模式图像的色彩拉伸方法和系统
技术介绍
大多数的颜色可以由具有某一颜色值的红、绿、蓝三种颜色合成产生,因此,红、绿、蓝又称为基色。红、绿、蓝的颜色取值范围为0~255。RGB模式的图像包括R通道、G通道和B通道,分别用于存储图像中所有像素的R颜色值、G颜色值和B颜色值,像素的R颜色值、G颜色值和B颜色值分别代表合成该像素的颜色的红色、绿色、蓝色的颜色值。在对R颜色值、G颜色值和B颜色值进行运算时,一般将R颜色值、G颜色值和B颜色值进行归一化处理,即除以255,将除以255后得到的小数作为相应的颜色值进行运算。RGB模式图像的色彩拉伸即分别将某幅RGB模式的图像的R通道、G通道和B通道中的颜色(分别为红色、绿色、蓝色)通过拉伸函数进行拉伸变换,得到一幅全新的图像。新图像与原图像的图案内容保持一致,但在色彩和亮度等方面会发生变化。在图形处理器(GPU,Graphic Processing Unit)的流式编程模型中,所有的数据都必须以“流”的形式进行加载处理,并通过抽象的3D API(应用程序编程接口)进行访问。在利用图形处理器进行图像处理时,最直接有效的数据加载方法是把待处理的图像打包(转换)为纹理,将纹理上传到图形处理器,图形处理器对纹理进行操作。图像与图像的纹理是一一对应的。纹理由纹理元素组成,纹理对应于图像,而纹理元素则对应于像素,图形处理器对纹理的纹理元素进行处理相当于对相应的图像的像素进行处理。图形处理器在对图像进行图像色彩拉伸时,对加载的图像的纹理进行处理,首先确定纹理中各顶点的位置,根据顶点的位置对纹理进行光栅化,进一步根据光栅化得到的区域获取区域内的纹理元素,图形处理器中的片段渲染器(fragment shader)对区域内的纹理元素逐一进行色彩拉伸变换,并输出变换后得到的值。变换后得到的值组成新的纹理,新的纹理对应新的图像。在传统方法中,图形处理器中的片段渲染器对RGB模式图像进行色彩拉伸时,需要对图像的纹理的所有纹理元素的R颜色值、G颜色值和B颜色值进行拉伸计算,对于宽度为M像素、高度为N像素的图像需要进行M×N×3次拉伸计算,运算量非常大。
技术实现思路
基于此,有必要提供一种能降低色彩拉伸运算量的RGB模式图像的色彩拉伸方法。一种RGB模式图像的色彩拉伸方法,包括以下步骤:获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值;从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值;根据读取的颜色拉伸值构建所述RGB模式图像的色彩拉伸图像;所述RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的颜色拉伸值。此外,还有必要提供一种能降低色彩拉伸运算量的RGB模式图像的色彩拉伸系统。一种RGB模式图像的色彩拉伸方法系统,其特征在于,包括:颜色值获取模块,用于获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值;拉伸值查找模块,用于从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值;拉伸图像构建模块,用于根据读取的颜色拉伸值构建所述RGB模式图像的色彩拉伸图像;所述RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的颜色拉伸值。上述RGB模式图像的色彩拉伸方法和系统,RGB拉伸值纹理的通道中依次存储了对应基色的取值范围内的颜色值的颜色拉伸值,片段渲染器只需要查找当前处理的纹理元素的颜色值在RGB拉伸值纹理中的相应通道中对应的列上存储的颜色拉伸值,即可得到当前处理的纹理元素的颜色拉伸值,省去了颜色拉伸值计算过程,从而降低了色彩拉伸运算量。【附图说明】图1为一个实施例中的RGB模式图像的色彩拉伸方法的流程示意图;图2为一个实施例中生成并上传RGB拉伸值纹理的过程的流程示意图;图3为一个实施例中RGB拉伸值图像的R通道中R颜色拉伸值的存储示意图;图4为一个实施例中的RGB模式图像的色彩拉伸系统的结构示意图;图5为另一实施例中的RGB模式图像的色彩拉伸系统的结构示意图。【具体实施方式】如图1所示,在一个实施例中,一种RGB模式图像的色彩拉伸方法,包括以下步骤:步骤S102,获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值。颜色值包括R颜色值、G颜色值和B颜色值。在一个实施例中,步骤S102之前,上述RGB模式图像的色彩拉伸方法还包括以下步骤:将待处理的RGB模式图像转换成纹理;将RGB模式图像的纹理上传到图形处理器;通过图形处理器对上传的RGB模式图像的纹理进行预处理;逐一获取预处理后的纹理的纹理元素传送给片段渲染器。将RGB模式图像的纹理上传到图形处理器后,图形处理器对纹理进行相关处理,例如,图形处理器所进行的处理包括图形处理器的顶点设置单元根据纹理进行顶点设置、图形处理器的光栅化单元对纹理进行光栅化操作等。对纹理进行光栅化操作可以将纹理划分为多个区域,进一步的,可获取光栅化划分的区域内的纹理元素,并按照预设规则逐一将区域内的纹理元素传送给片段渲染器。步骤S104,从RGB拉伸值纹理中读取当前处理的纹理元素的颜色值对应的列上存储的颜色拉伸值。具体的,可分别从RGB拉伸值纹理的与上述颜色值对应的通道中读取上述颜色值对应的列上存储的颜色拉伸值,R颜色值对应R通道、G颜色值对应G通道、B颜色值对应B通道。即,在RGB拉伸值纹理的R通道中读取R颜色值对应的列上存储的颜色拉伸值、在RGB拉伸值纹理的G通道中读取G颜色值对应的列上存储的颜色拉伸值,以及在RGB拉伸值纹理的B通道中读取B颜色值对应的列上存储的颜色拉伸值。RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的颜色拉伸值。三基色的取值范围内的颜色值为都0~255。即,RGB拉伸值纹理的R通道中依次存储了0至255的R颜色拉伸值、G通道中依次存储了0至255的G颜色拉伸值、B通道中依次存储了0至255的B颜色拉伸值。其中,i(i=0,1,…,255)的R颜色拉伸值为将i进行归一化处理(即除以255)后,对处理后的值进行R颜色对应的拉伸变换后得到的颜色拉伸值。0至255的G颜色拉伸值、0至255的B颜色拉伸值与0至255的R颜色拉伸值的意义相同。如图2所示,在一个实施例中,在步骤S104之前,上述RGB模式图像的色彩拉伸方法还包括生成并上传RGB拉伸值本文档来自技高网
...
RGB模式图像的色彩拉伸方法和系统

【技术保护点】
一种RGB模式图像的色彩拉伸方法,包括以下步骤:获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值;从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值;根据读取的颜色拉伸值构建所述RGB模式图像的色彩拉伸图像;所述RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的颜色拉伸值。

【技术特征摘要】
1.一种RGB模式图像的色彩拉伸方法,包括以下步骤:
获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值;
从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值;
根据读取的颜色拉伸值构建所述RGB模式图像的色彩拉伸图像;
所述RGB拉伸值纹理的通道中依次存储对应基色的取值范围内的颜色值的
颜色拉伸值。
2.根据权利要求1所述的RGB模式图像的色彩拉伸方法,其特征在于,
在从RGB拉伸值纹理中读取所述颜色值对应的列上存储的颜色拉伸值的步骤之
前,所述方法还包括:
计算RGB模式图像的基色的取值范围内的颜色值的颜色拉伸值;
将计算得到的所述基色对应的颜色拉伸值依次存储到宽度大于等于256像
素的RGB拉伸值图像的所述基色对应的通道中;
将所述RGB拉伸值图像转换为纹理,转换而成的纹理即为所述RGB拉伸
值纹理;
将所述RGB拉伸值纹理上传到片段渲染器。
3.根据权利要求2所述的RGB模式图像的色彩拉伸方法,其特征在于,
所述将计算得到的所述基色对应的颜色拉伸值依次存储到宽度大于等于256像
素的RGB拉伸值图像的所述基色对应的通道中的步骤为:
将所述基色对应的颜色拉伸值依次存储为所述RGB拉伸值图像的所述基色
对应的通道中的第1至266列颜色值。
4.根据权利要求1所述的RGB模式图像的色彩拉伸方法,其特征在于,
在获取RGB模式图像的纹理中片段渲染器当前处理的纹理元素的颜色值的步骤
之前,所述方法还包括:
将待处理的RGB模式图像转换成纹理;
将所述RGB模式图像的纹理上传到图形处理器
通过图形处理器对所述RGB模式图像的纹理进行预处理;
逐一获取预处理后的纹理的纹理元素传送给片段渲染器。
5....

【专利技术属性】
技术研发人员:姜德强
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1