一种Pentile图像转换为RGB图像的方法、装置及存储介质

文档序号:1964737 发布日期:2021-12-14 浏览:21次 >En<

阅读说明:本技术 一种Pentile图像转换为RGB图像的方法、装置及存储介质 (Method and device for converting Pentile image into RGB image and storage medium ) 是由 白颂荣 张海越 孙滨璇 于 2021-08-09 设计创作,主要内容包括:本申请实施例公开了一种Pentile图像转换为RGB图像的方法、装置及存储介质,用于从Pentile图像转换为RGB图像。本申请实施例方法包括:获取Pentile图像上的每一个像素点的像素位置和像素值;根据Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值;确定Pentile图像上的R像素点组;使用插值算法并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点;确定Pentile图像上的B像素点组;使用插值算法并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点;根据G像素点的像素位置和像素值,以及N个R新像素点和N个B新像素点生成N个RGB像素点;根据N个RGB像素点生成RGB转换图像。(The embodiment of the application discloses a method and a device for converting a Pentile image into an RGB image and a storage medium, which are used for converting the Pentile image into the RGB image. The method in the embodiment of the application comprises the following steps: acquiring the pixel position and the pixel value of each pixel point on the Pentile image; determining a first initial phase, a second initial phase and a step value according to Pentile type information of the Pentile image; determining an R pixel point group on the Pentile image; generating N R new pixel points by using an interpolation algorithm according to the first initial phase, the step value, the pixel positions of the R pixel point group and the pixel values; determining a B pixel point group on the Pentile image; generating N new pixel points B by using an interpolation algorithm according to the second initial phase, the step value, the pixel positions of the pixel point group B and the pixel values; generating N RGB pixel points according to the pixel position and the pixel value of the G pixel point, N R new pixel points and N B new pixel points; and generating an RGB conversion image according to the N RGB pixel points.)

一种Pentile图像转换为RGB图像的方法、装置及存储介质

技术领域

本申请实施例涉及图像处理领域,尤其涉及一种Pentile图像转换为RGB图像的方法、装置及存储介质。

背景技术

传统RGB排列图像是由红绿蓝三个子像素组成的,而Pentile排列图像的单个像素点是不一样的,一种是红绿,一种是蓝绿。我们知道只有三基色才能构成所有的颜色,而两种颜色是不可以构成所有颜色的,所以在实际显示图像时,Pentile排列图像的一个像素点会“借”用与其相邻的像素点的另一种颜色来构成三基色。水平方向,每个像素和相邻的像素共享自己所不具备的那种颜色的子像素,共同达到白色显示。采用Pentile排列图像和传统RGB排列图像的外观对比:传统RGB排列图像的三基色发光面积相等,而Pentile排列图像的RGB发光面积不等,总是红和蓝的面积是绿的二倍。

Pentile排列图像是伴随着OLED显示材质诞生而出现的。传统RGB排列图像一直用在液晶显示器上,液晶是利用背光源的被动发光,而且其RGB图像在显示器上的具体实现形式是滤光片,这种滤光片的制作较简单,而且制作高密度的RGB色带也不会带来成本上大的增加。但对于主动发光的OLED来说就不一样了,OLED的RGB排列图像对应的是红绿蓝发光有机材料。现在使用的显示器的分辨率较高,这就要求每种发光材料制作的很小且高密度的集成,这样工艺上就较难,成本也会很高。采用Pentile排列图像,每个显示单元上只有两种材料,而且材料面积较大,这样就降低了工艺难度,成本也会降低。

但是,在Pentile排列图像上,不同厂商的Pentile排列图像在像素的分布形式也各有差异,请参考图1、图2、图3和图4,图中的Pentile排列图像上的RGB像素的相对位置存在极大的不同,也就是RGB像素的分布形式存在较大差异。并且,不同分布形式的Pentile排列图像会通过降低每Pixel的子像素数目,提高OLED屏的良率,但是这样牺牲了图像分辨率。特别的在这种格式下RGB图像的三通道的子像素不再是规整排列的,这就造成了当RGB显示屏接收Pentile图像时,无法从Pentile图像转换为RGB图像。

发明内容

本申请实施例第一方面提供了一种Pentile图像转换为RGB图像的方法,其特征在于,包括:

获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

根据所述N个RGB像素点生成RGB转换图像。

可选的,所述确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点,包括:

根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

可选的,所述使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数,包括:

使用所述插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果;

使用插值算法并根据所述第一水平插值计算结果、所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点。

可选的,所述确定所述Pentile图像上的B像素点组,包括:

根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组,所述B像素点组包含至少两个B像素点子组,所述B像素点子组至少包含两个B像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

可选的,所述使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数,包括:

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果;

使用插值算法并根据所述第二水平插值计算结果、所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点。

可选的,在所述根据所述N个RGB像素点生成RGB转换图像之后,所述方法还包括:

对所述RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,所述边缘伪彩消除操作用于降低所述RGB转换图像上边缘部分产生的伪彩现象。

可选的,所述对所述RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,包括:

对所述RGB转换图像进行边缘检测,所述边缘检测用于确定所述RGB转换图像中的边缘RGB像素点的位置;

将所述RGB转换图像进行YUV空间转换,以生成YUV图像;

降低所述YUV图像的在所述边缘RGB像素点的对应位置上的UV通道幅值;

将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。

可选的,所述对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,包括:

使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,所述sobel算子为3*3sobel算子或是5*5sobel算子。

本申请实施例第二方面提供了一种Pentile图像转换为RGB图像的装置,其特征在于,包括:

获取单元,用于获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

第一确定单元,用于根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

第二确定单元,用于确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

第一生成单元,用于使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

第三确定单元,用于确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

第二生成单元,用于使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

第三生成单元,用于根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

第四生成单元,用于根据所述N个RGB像素点生成RGB转换图像。

可选的,所述第二确定单元,具体为:

根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

可选的,所述第一生成单元,具体为:

使用所述插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果;

使用插值算法并根据所述第一水平插值计算结果、所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点。

可选的,所述第三确定单元,具体为:

根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组,所述B像素点组包含至少两个B像素点子组,所述B像素点子组至少包含两个B像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

可选的,所述第二生成单元,具体为:

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果;

使用插值算法并根据所述第二水平插值计算结果、所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点。

可选的,所述装置还包括:

第五生成单元,用于对所述RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,所述边缘伪彩消除操作用于降低所述RGB转换图像上边缘部分产生的伪彩现象。

可选的,所述第五生成单元,具体为:

对所述RGB转换图像进行边缘检测,所述边缘检测用于确定所述RGB转换图像中的边缘RGB像素点的位置;

将所述RGB转换图像进行YUV空间转换,以生成YUV图像;

降低所述YUV图像的在所述边缘RGB像素点的对应位置上的UV通道幅值;

将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。

可选的,所述对所述RGB转换图像进行边缘检测,所述边缘检测用于确定所述RGB转换图像中的边缘RGB像素点的位置,具体为:

使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,所述sobel算子为3*3sobel算子或是5*5sobel算子。

本申请实施例的第三方面提供了一种Pentile图像转换为RGB图像的装置,其特征在于,包括:

处理器、存储器、输入输出单元、总线;

处理器与存储器、输入输出单元以及总线相连;

处理器具体执行如下操作:

获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

根据所述N个RGB像素点生成RGB转换图像。

可选的,处理器还用于执行第一方面中的任意可选方案的操作。

本申请实施例第四方面提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如前述第一方面以及第一方面的任意可选的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

首先,获取Pentile图像上的每一个像素点的像素位置和像素值,像素点具体包括G像素点、B像素点和R像素点。再根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,其中,所述第一初始相位和所述第二初始相位不同,所述Pentile类型信息表示不同Pentile图像中像素点的分布形式,所述第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,所述第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,所述步长值用于通过所述第一初始相位或所述第二初始相位累加的步长值生成除了所述第一个R新像素点的R新像素点。然后再确定所述Pentile图像上的R像素点组,其中,所述R像素点组包含至少两个R像素点。使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数。使用相同的方式,首先确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点。然后使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数。再根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点。最后根据所述N个RGB像素点生成RGB转换图像。本实施例中,通过将Pentile图像的B像素点和R像素点进行组合,生成R像素点组和B像素点组,然后对R像素点组和B像素点组进行整合计算。具体通过使用插值算法,并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。再使用相同的方法,使用插值算法,并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。最后在每一个插值位置,结合N个R新像素点、N个B新像素点和G像素点的像素位置和像素值,在每一个插值位置上生成一个完整的RGB子像素,进而完成从Pentile图像将图像转变成RGB转换图像。

附图说明

图1为本申请实施例中一种Pentile排列图像的一个实施例示意图;

图2为本申请实施例中一种Pentile排列图像的另一个实施例示意图;

图3为本申请实施例中一种Pentile排列图像的另一个实施例示意图;

图4为本申请实施例中一种Pentile排列图像的另一个实施例示意图;

图5为本申请实施例中一种Pentile图像转换为RGB图像的方法的一个实施例流程示意图;

图6为本申请实施例中一种Pentile图像转换为RGB图像的方法的另一个实施例流程示意图;

图7为本申请实施例中双线性插值算法的一个示意图;

图8为本申请实施例中一种Pentile图像转换为RGB图像的装置的一个实施例流程示意图;

图9为本申请实施例中一种Pentile图像转换为RGB图像的装置的另一个实施例流程示意图;

图10为本申请实施例中一种Pentile图像转换为RGB图像的装置的另一个实施例流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护范围。

本申请实施例公开了一种Pentile图像转换为RGB图像的方法、装置及存储介质,用于从Pentile图像转换为RGB图像。

在本实施例方法中,Pentile图像转换为RGB图像的方法可在系统实现,可以在服务器实现,也可以在终端实现,具体不做明确限定。为方便描述,本申请实施例使用终端为执行主体举例描述。

请参阅图5,本申请实施例提供了一种Pentile图像转换为RGB图像的方法,包括:

本申请实施例第一方面提供了一种Pentile图像转换为RGB图像的方法,其特征在于,包括:

501、获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

首先,终端获取到Pentile图像之后,需要确定Pentile图像上的每一个像素点的像素位置和像素值,这里的像素点是指G像素点、B像素点和R像素点。

获取G像素点、B像素点和R像素点的像素位置,目的是用于通过算法进行插值位置的计算,即用来确定RGB转换图像中RGB像素的位置。

在获取到RGB转换图像中RGB像素的位置之后,再通过获取到的G像素点、B像素点和R像素点的像素值主要用于通过算法进行新的插值的像素值的计算。由于新的插值位置与原本的G像素点、B像素点和R像素点的位置可能存在距离偏差,所以需要重新计算这个位置相对于原Pentile图像的位置所需要的像素值,以使得将整个像素值填充到插值位置上,即生成了全新的RGB像素点。这个像素点的RGB分布均匀,并且得到了像素值。

502、根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

终端根据Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值。

其中,第一初始相位和第二初始相位不同,第一初始相位和第二初始相位是由Pentile图像的Pentile类型信息决定的,而Pentile类型信息表示不同Pentile图像中像素点的分布形式。参考图1、图2、图3和图4中的Pentile图像的像素点的分布形式,需要设置不同的初始相位和步长值,以满足不同分布形式的Pentile图像转换成RGB图像。如果都适用相同的初始相位,会使得不同分布形式的Pentile图像转换成RGB图像的效果存在较大差异。具体的,第一初始相位可以指对R像素进行采样生成的第一个R新像素点的相位,第二初始相位指对B像素进行采样生成的第一个R新像素点的相位。

Pentile类型信息表示不同Pentile图像中像素点的分布形式,第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,步长值用于通过第一初始相位或第二初始相位累加的步长值生成除了第一个R新像素点的R新像素点。

步长值用于通过第一初始相位或第二初始相位累加的步长值生成除了第一个R新像素点的R新像素点。下面对初始相位和步长值的使用方式进行举例说明:

以图1为例,假设第一水平行的头两个相邻的R像素点之间存在32个单位相位,以左边第一个R像素点为基准点时,第一个R像素点所在的第一初始相位为0号相位,第二个R像素点所在的相位为32号相位。当选择1号相位作为第一初始相位,步长值为16个相位。这个1号相位就为第一个R新像素点的插值位置,则通过插值算法计算这两个R像素点在1号相位的R新像素值的权重,由于1号相位距离0号相位更近,通常0号相位R像素点的权重更大,根据权重计算出R新像素值,插入这个1号相位。在第17号相位(初始相位加上步长值)同样方式的位置生成R新像素值。

这时,这个1号相位仅具备了R新像素点,还需要具备G新像素点和B新像素点,通过同样的方法,第一水平行的头两个相邻的B像素点之间同样存在32个单位相位。以左边第一个B像素点为基准点时,第一个B像素点所在的相位为0号相位,第二个B像素点所在的相位为32号相位。以第一个R像素点为基准点时,左边第一个B像素点相位为16号相位,这时需要计算的以前面的1号相位作为初始相位,插入B新像素点,但是在插值算法计算时,B像素点的第二初始相位为(0-16+1)=-15号相位。所以第一初始相位和第二初始相位不同。

503、确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

终端确定Pentile图像上的R像素点组,R像素点组包含至少两个R像素点。由于不同的插值算法会用到的R像素点的格式不同,所以需要实现确定Pentile图像上的R像素点组。其中,Pentile图像上的R像素点组中包含多个R像素点子组,每一个R像素点子组中至少包含两个R像素点,用于后面的插值算法计算。一个R像素点子组中的某个R像素点,可以为了一个R像素点子组的R像素点。

其中,当R像素点子组由两个相邻的R像素点组成时,这两个相邻的R像素点,可以是水平位置上相邻的两个R像素点,也可以是垂直位置上相邻的两个R像素点,还可以是斜边相邻的两个R像素点,此处不作限定。由于R像素点子组可通过多个R像素点组合,其组合方式也存在多种方式,所以确定Pentile图像上的R像素点组的各种方式都应属于本实施例的保护范围内。

504、使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

当终端确定所述Pentile图像上的R像素点组之后,终端使用插值算法并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。插值算法有多种,大部分都适用于本实施例,例如最近邻插值算法、双线性插值算法、双三次插值和Lanczos插值算法等。第一初始相位、步长值、R像素点组的像素位置主要用于得到R新像素的每一个插值位置,详细步骤见步骤502,而插值算法用于计算每一个插值位置所需要插入的像素值。

505、确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

终端确定Pentile图像上的B像素点组,B像素点组包含至少两个B像素点。由于不同的插值算法会用到的B像素点的格式不同,所以需要实现确定Pentile图像上的B像素点组。其中,Pentile图像上的B像素点组中包含多个B像素点子组,每一个B像素点子组中至少包含两个B像素点,用于后面的插值算法计算。一个B像素点子组中的某个B像素点,可以为了一个B像素点子组的B像素点。

其中,当B像素点子组由两个相邻的B像素点组成时,这两个相邻的B像素点,可以是水平位置上相邻的两个B像素点,也可以是垂直位置上相邻的两个B像素点,还可以是斜边相邻的两个B像素点,此处不作限定。由于B像素点子组可通过多个B像素点组合,其组合方式也存在多种方式,所以确定Pentile图像上的B像素点组的各种方式都应属于本实施例的保护范围内。

506、使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

当终端确定Pentile图像上的B像素点组之后,终端使用插值算法并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。插值算法有多种,大部分都适用于本实施例,例如最近邻插值算法、双线性插值算法和双三次插值等。第二初始相位、步长值、B像素点组的像素位置主要用于得到B新像素的每一个插值位置,详细步骤见步骤502,而插值算法用于计算每一个插值位置所需要插入的像素值。

507、根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

当终端使用插值算法并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点,并且使用插值算法并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点之后,终端需要根据G像素点的像素位置和像素值,以及N个R新像素点和N个B新像素点生成N个RGB像素点。

本实施例中需要确定插值位置,再生成这个插值位置的R新像素点、B新像素点以及G新像素点,则这个插值位置就会由一个RGB像素代替。R新像素点、B新像素点的生成方法为插值算法,而G新像素点的生成方法可以是将和这个插值位置最接近的G像素点的像素值直接代入生成G新像素点,也可以是通过算法计算G新像素点,此处不作限定。通过算法计算插入插值位置的G新像素的方式,应属于本实施例的保护范围。

508、根据所述N个RGB像素点生成RGB转换图像。

将每一个插值位置的R新像素点、G新像素点和B新像素点代入之后,终端最终根据N个RGB像素点生成RGB转换图像。

从本实施例中可见,首先,获取Pentile图像上的每一个像素点的像素位置和像素值,像素点具体包括G像素点、B像素点和R像素点。再根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,其中,所述第一初始相位和所述第二初始相位不同,所述Pentile类型信息表示不同Pentile图像中像素点的分布形式,所述第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,所述第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,所述步长值用于通过所述第一初始相位或所述第二初始相位累加的步长值生成除了所述第一个R新像素点的R新像素点。然后再确定所述Pentile图像上的R像素点组,其中,所述R像素点组包含至少两个R像素点。使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数。使用相同的方式,首先确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点。然后使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数。再根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点。最后根据所述N个RGB像素点生成RGB转换图像。本实施例中,通过将Pentile图像的B像素点和R像素点进行组合,生成R像素点组和B像素点组,然后对R像素点组和B像素点组进行整合计算。具体通过使用插值算法,并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。再使用相同的方法,使用插值算法,并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。最后在每一个插值位置,结合N个R新像素点、N个B新像素点和G像素点的像素位置和像素值,在每一个个插值位置上生成一个完整的RGB子像素,进而完成从Pentile图像将图像转变成RGB转换图像。

在上述实施例中,我们需要生成R新像素点、B新像素点以及G新像素点,通过将R新像素点、B新像素点以及G新像素点在对应的插值位置上进行显示插值,以显示真实的图像。但是,在进行RGB图像插值时,很容易由于图像中边缘部分的像素点的过于突出,使得图片产生伪彩的现象。下面针对伪彩现象的解决方式进行说明。

请参阅图6,本申请实施例提供了一种Pentile图像转换为RGB图像的方法,包括:

601、获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

602、根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

本实施例中的步骤601至步骤602与前述实施例中步骤501和步骤502类似,此处不再赘述。

603、根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法;

当终端确定了Pentile图像上的每一个像素点的像素位置和像素值之后,终端需要根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组。由于插值算法的算法存在多种,本实施例可使用的插值算法有最近邻插值算法、双线性插值算法、双三次插值和Lanczos插值算法等,其中,最近邻插值算法只需要两个R像素点即可将插值位置的R新像素点的像素值计算出来,而双线性插值算法需要4个R像素点才能将插值位置的R新像素点的像素值计算出来,不同的计算插值计算方法所需要的R像素点数量不同,需要越多R像素点的插值算法,其计算过程越简单,但是效果较差,而需要越多R像素点的插值算法,其计算过程越复杂,但是算得的结果越准确,效果越好。本实施例中,先选择好插值算法,再根据插值算法将Pentile图像上的R像素点进行划分,以生成R像素点组。

604、使用所述插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果;

当终端根据插值算法将Pentile图像上的R像素点进行划分,以生成R像素点组之后,终端需要使用插值算法并根据第一初始相位、步长值、R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果。即先在在水平方向上对插值位置的像素值进行计算。

605、使用插值算法并根据所述第一水平插值计算结果、所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点;

当终端在在水平方向上对插值位置的像素值进行计算之后,终端再使用插值算法并根据第一水平插值计算结果、第一初始相位、步长值、R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点。

步骤604和步骤605中的水平插值计算和垂直插值计算用于增加图像展示效果,下面进行举例说明,请参考图7,本实施例使用双线性插值算法进行计算。

如图所示,P为插值位置,坐标为(x,y),Q11、Q12、Q21和Q22分别为4个相邻B像素点的位置,坐标分别为(x1,y1)、(x1,y2)、(x2,y1)和(x2,y2),公式如下:

首先对水平x轴进行水平像素插值。

然后对垂直y轴进行垂直像素插值。

606、根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组,所述B像素点组包含至少两个B像素点子组,所述B像素点子组至少包含两个B像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法;

当终端确定了Pentile图像上的每一个像素点的像素位置和像素值之后,终端需要根据插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组。由于插值算法的算法存在多种,本实施例可使用的插值算法有最近邻插值算法、双线性插值算法、双三次插值和Lanczos插值算法等,其中,最近邻插值算法只需要两个B像素点即可将插值位置的B新像素点的像素值计算出来,而双线性插值算法需要4个B像素点才能将插值位置的B新像素点的像素值计算出来,不同的计算插值计算方法所需要的B像素点数量不同,需要越多B像素点的插值算法,其计算过程越简单,但是效果较差,而需要越多B像素点的插值算法,其计算过程越复杂,但是算得的结果越准确,效果越好。本实施例中,先选择好插值算法,再根据插值算法将Pentile图像上的B像素点进行划分,以生成R像素点组。

607、使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果;

当终端根据插值算法将Pentile图像上的B像素点进行划分,以生成B像素点组之后,终端需要使用插值算法并根据第二初始相位、步长值、B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果。即先在在水平方向上对插值位置的像素值进行计算。

608、使用插值算法并根据所述第二水平插值计算结果、所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点;

当终端在在水平方向上对插值位置的像素值进行计算之后,终端再使用插值算法并根据第二水平插值计算结果、第二初始相位、步长值、B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点。

609、根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

610、根据所述N个RGB像素点生成RGB转换图像;

本实施例中的步骤609和步骤610与前述实施例中步骤507和步骤508类似,此处不再赘述。

611、使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,所述sobel算子为3*3sobel算子或是5*5sobel算子;

终端在生成了RGB转换图像之后,还需要对所述RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,边缘伪彩消除操作用于降低RGB转换图像上边缘部分产生的伪彩现象。

本实施例中,终端主要通过使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,sobel算子为3*3sobel算子或是5*5sobel算子。

具体的,sobel算子是典型的基于一阶导数的边缘检测算子,是离散型的差分算子。该算子对噪声具有平滑作用,能很好的消除噪声的影响,以及消除图像边缘部分的伪彩现象。sobel算子对于像素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。

Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。

本实施例中所使用的Sobel算子模板如下:

Sobel算子另一种形式是(Isotropic Sobel)算子,加权平均算子,权值反比于邻点与中心点的距离,当沿不同方向检测边缘时梯度幅度一致,就是通常所说的各向同性Sobel(Isotropic Sobel)算子。模板也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。

x和y分别代表像素点在RGB转换图像中某一个点的横坐标和竖坐标。本实施例中,一种可选的计算方法如下:

dyx,y=ηx+1,y-1+2×ηx+1,yx+1,y+1x-1,y-1-2×ηx-1,yx-1,y+1

dxx,y=ηx-1,y+1+2×ηx,y+1x+1,y+1x-1,y-1-2×ηx,y-1x+1,y-1

dxx,y和dyx,y分别代表宏块子边界向量水平和垂直方向分量。其中ηx,y是当前RGB转换图像在横坐标为x和竖坐标为y这个位置的像素点的像素值,(ηx±1,y±1,ηx,y±1,ηx±1,y)是指像素ηx,y在RGB转换图像中的相邻像素点的像素值。

本实施例中,通过Sobel算子对RGB转换图像中每一个像素点进行边缘检测,仅仅是通过sobel算子与RGB转换图像进行滤波得到,即对应位置的RGB转换图像的像素与sobel算子的对应权重相乘,其结果值比预设值大的像素点就是检测出来的边缘部分的像素点。

理论上,除了使用sobel算子对RGB转换图像进行边缘检测,以确定边缘RGB像素点,还可以使用Prewitt算子对RGB转换图像进行边缘检测,Prewitt算子的模板如下:

在Prewitt算子中,只要是像素点的像素值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若P(i,j)≥T,则(i,j)为边缘点,P(i,j)为边缘图像在横坐标为i纵坐标为j的像素点的像素值。但是本实施例中主要使用sobel算子,因为Prewitt算子存在判定欠合理的情况,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。

Prewitt算子对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。

本实施例中,除了使用sobel算子对RGB转换图像进行边缘检测,以确定边缘RGB像素点,或是使用Prewitt算子对RGB转换图像进行边缘检测,还可以使用Roberts算子对RGB转换图像进行边缘检测,也可以是使用Canny算子对RGB转换图像进行边缘检测,此处不作限定。只要是符合计算图像边缘部分算法,其步骤都属于本实施例的保护范围。

612、将所述RGB转换图像进行YUV空间转换,以生成YUV图像;

终端在使用sobel算子对RGB转换图像进行边缘检测,以确定边缘RGB像素点之后,终端需要将RGB转换图像进行YUV空间转换,以生成YUV图像。

本实施例中,需要使用到转换公式进行转换,转换公式可以是人工选取的,下面选取常用的RGB转换YUV的公式进行举例:

Y=0.299R+0.587G+0.114B

U=-0.147R-0.289G+0.436B

V=0.615R-0.515G-0.100B

通过上述公式,即可完成RGB转换YUV。但是使用上述公式时,RGB之后图像的像素点的取值范围均为0到255之间。

613、降低所述YUV图像的在所述边缘RGB像素点的对应位置上的UV通道幅值;

在终端将图像从RGB转换成YUV转换,终端降低YUV图像的在边缘RGB像素点的对应位置上的UV通道幅值。

这个检测的边缘高频信号就是之前sobel算子与RGB转换图像卷积计算之后得到的值较大的位置。通过转换到YUV空间,并减小中心化之后的UV的值达到降低边缘色彩的目的。计算公式如下所示:

U1=(U-128)*ratio+128

V1=(V-128)*ratio+128

其中,U1为计算后的U通道值,V1为为计算后的V通道值,ratio为0到1范围中的随机数字。

614、将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。

当终端降低YUV图像的在边缘RGB像素点的对应位置上的UV通道幅值之后,终端需要将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。本实施例中,需要使用到转换公式进行转换,转换公式可以是人工选取的,下面选取常用的YUV转换RGB的公式进行举例:

R=Y+1.14V1

G=Y-0.39U1-0.58V1

B=Y+2.03U1

完成转换之后,即可得到目标RGB图像,目标RGB图像已经降低了伪彩的现象。

从本实施例中可见,首先,获取Pentile图像上的每一个像素点的像素位置和像素值,像素点具体包括G像素点、B像素点和R像素点。再根据Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,其中,第一初始相位和第二初始相位不同,Pentile类型信息表示不同Pentile图像中像素点的分布形式,所述第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,所述第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,所述步长值用于通过所述第一初始相位或所述第二初始相位累加的步长值生成除了所述第一个R新像素点的R新像素点。

然后根据本实施例中选用的插值算法的种类将所述Pentile图像上的R像素点进行划分,以确定所述Pentile图像上的R像素点组,其中,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点。使用所述插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果。然后再使用插值算法并根据所述第一水平插值计算结果、所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点。使用相同的方式,首先根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组。使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果。使用插值算法并根据所述第二水平插值计算结果、所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点。

最后根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点。最后根据所述N个RGB像素点生成RGB转换图像。本实施例中,通过将Pentile图像的B像素点和R像素点进行组合,生成R像素点组和B像素点组,然后对R像素点组和B像素点组进行整合计算。具体通过使用插值算法,并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。再使用相同的方法,使用插值算法,并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。最后在每一个插值位置,结合N个R新像素点、N个B新像素点和G像素点的像素位置和像素值,在每一个个插值位置上生成一个完整的RGB子像素,进而完成从Pentile图像将图像转变成RGB转换图像。

其次,通过使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点。再将所述RGB转换图像进行YUV空间转换,以生成YUV图像。降低所述YUV图像的在所述边缘RGB像素点的对应位置上的UV通道幅值。最终将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。降低图像伪彩的现象,是的图像的画面效果更好。

其次,通过插值算法对图像上的像素点先进行水平插值,在进行垂直插值,插值位置的像素点所得到像素值更加贴近原图像,对于图像转换的效果更好。

上述实施例描述了Pentile图像转换为RGB图像的方法,下面进行一种Pentile图像转换为RGB图像的装置的描述。

请参阅图8,本申请实施例提供了一种Pentile图像转换为RGB图像的装置,包括:

获取单元801,用于获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

第一确定单元802,用于根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

第二确定单元803,用于确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

第一生成单元804,用于使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

第三确定单元805,用于确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

第二生成单元806,用于使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

第三生成单元807,用于根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

第四生成单元808,用于根据所述N个RGB像素点生成RGB转换图像。

从本实施例中可见,首先,通过获取单元801获取Pentile图像上的每一个像素点的像素位置和像素值,像素点具体包括G像素点、B像素点和R像素点。再通过第一确定单元802根据Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,其中,所述第一初始相位和所述第二初始相位不同,所述Pentile类型信息表示不同Pentile图像中像素点的分布形式,所述第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,所述第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,所述步长值用于通过所述第一初始相位或所述第二初始相位累加的步长值生成除了所述第一个R新像素点的R新像素点。通过第二确定单元803确定所述Pentile图像上的R像素点组,其中,所述R像素点组包含至少两个R像素点。第一生成单元804使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数。使用相同的方式,第三确定单元805首先确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点。第二生成单元806使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数。第三生成单元807再根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点。最后第四生成单元808根据所述N个RGB像素点生成RGB转换图像。本实施例中,通过将Pentile图像的B像素点和R像素点进行组合,生成R像素点组和B像素点组,然后对R像素点组和B像素点组进行整合计算。具体通过使用插值算法,并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。再使用相同的方法,使用插值算法,并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。最后在每一个插值位置,结合N个R新像素点、N个B新像素点和G像素点的像素位置和像素值,在每一个个插值位置上生成一个完整的RGB子像素,进而完成从Pentile图像将图像转变成RGB转换图像。

请参阅图9,本申请实施例提供了一种Pentile图像转换为RGB图像的装置,包括:

获取单元901,用于获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

第一确定单元902,用于根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

第二确定单元903,用于确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

可选的,所述第二确定单元903,具体为:

根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组,所述R像素点组包含至少两个R像素点子组,所述R像素点子组至少包含两个R像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

第一生成单元904,用于使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

可选的,所述第一生成单元904,具体为:

使用所述插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行水平插值计算,以生成第一水平插值计算结果;

使用插值算法并根据所述第一水平插值计算结果、所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值进行垂直插值计算,以生成N个R新像素点。

第三确定单元905,用于确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

可选的,所述第三确定单元905,具体为:

根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组,所述B像素点组包含至少两个B像素点子组,所述B像素点子组至少包含两个B像素点,所述插值算法为最近邻插值算法、双线性插值算法、双三次插值或Lanczos插值算法。

第二生成单元906,用于使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

可选的,所述第二生成单元906,具体为:

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行水平插值计算,以生成第二水平插值计算结果;

使用插值算法并根据所述第二水平插值计算结果、所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值进行垂直插值计算,以生成N个B新像素点。

第三生成单元907,用于根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

第四生成单元908,用于根据所述N个RGB像素点生成RGB转换图像;

第五生成单元909,用于对所述RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,所述边缘伪彩消除操作用于降低所述RGB转换图像上边缘部分产生的伪彩现象。

可选的,所述第五生成单元,具体为:

对所述RGB转换图像进行边缘检测,所述边缘检测用于确定所述RGB转换图像中的边缘RGB像素点的位置;

将所述RGB转换图像进行YUV空间转换,以生成YUV图像;

降低所述YUV图像的在所述边缘RGB像素点的对应位置上的UV通道幅值;

将降低UV通道幅值的所述YUV图像进行RGB转换,以生成目标RGB图像。

可选的,所述对所述RGB转换图像进行边缘检测,所述边缘检测用于确定所述RGB转换图像中的边缘RGB像素点的位置,具体为:

使用sobel算子对所述RGB转换图像进行边缘检测,以确定边缘RGB像素点,所述sobel算子为3*3sobel算子或是5*5sobel算子。

从本实施例中可见,首先,通过获取单元901获取Pentile图像上的每一个像素点的像素位置和像素值,像素点具体包括G像素点、B像素点和R像素点。再通过第一确定单元902根据Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,其中,所述第一初始相位和所述第二初始相位不同,所述Pentile类型信息表示不同Pentile图像中像素点的分布形式,所述第一初始相位指对R像素进行采样生成的第一个R新像素点的相位,所述第二初始相位指对B像素进行采样生成的第一个R新像素点的相位,所述步长值用于通过所述第一初始相位或所述第二初始相位累加的步长值生成除了所述第一个R新像素点的R新像素点。通过第二确定单元903确定所述Pentile图像上的R像素点组,其中,所述R像素点组包含至少两个R像素点。第一生成单元904使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数。使用相同的方式,第三确定单元905首先确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点。第二生成单元906使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数。第三生成单元907再根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点。最后第四生成单元908根据所述N个RGB像素点生成RGB转换图像。本实施例中,通过将Pentile图像的B像素点和R像素点进行组合,生成R像素点组和B像素点组,然后对R像素点组和B像素点组进行整合计算。具体通过使用插值算法,并根据第一初始相位、步长值、R像素点组的像素位置和像素值生成N个R新像素点。再使用相同的方法,使用插值算法,并根据第二初始相位、步长值、B像素点组的像素位置和像素值生成N个B新像素点。最后在每一个插值位置,结合N个R新像素点、N个B新像素点和G像素点的像素位置和像素值,在每一个个插值位置上生成一个完整的RGB子像素,进而完成从Pentile图像将图像转变成RGB转换图像。

其中,第二确定单元903根据插值算法的种类将所述Pentile图像上的R像素点进行划分,以生成R像素点组,第三确定单元905根据所述插值算法的种类将所述Pentile图像上的B像素点进行划分,以生成B像素点组,提前根据算法确定像素点组中像素点组合的数量。再通过第一生成单元904和第二生成单元906通过水平插值计算后,再进行垂直插值计算,增加了新像素点与元像素点的相似度,提高了转换图像的效果。

最后通过第五生成单元909对RGB转换图像进行边缘伪彩消除操作,以生成目标RGB图像,降低了图像中边缘部分出现的伪彩现象,提高了之后图像的效果。

请参阅图10,本申请实施例提供了一种Pentile图像转换为RGB图像的装置,其特征在于,包括:

处理器1001、存储器1002、输入输出单元1003、总线1004;

处理器1001与存储器1002、输入输出单元1003以及总线1004相连;

处理器1001具体执行如下操作:

获取Pentile图像上的每一个像素点的像素位置和像素值,所述像素点包括G像素点、B像素点和R像素点;

根据所述Pentile图像的Pentile类型信息确定第一初始相位、第二初始相位和步长值,所述第一初始相位和所述第二初始相位不同;

确定所述Pentile图像上的R像素点组,所述R像素点组包含至少两个R像素点;

使用插值算法并根据所述第一初始相位、所述步长值、所述R像素点组的像素位置和像素值生成N个R新像素点,所述N为大于1的整数;

确定所述Pentile图像上的B像素点组,所述B像素点组包含至少两个B像素点;

使用所述插值算法并根据所述第二初始相位、所述步长值、所述B像素点组的像素位置和像素值生成N个B新像素点,所述N为大于1的整数;

根据所述G像素点的像素位置和像素值,以及所述N个R新像素点和所述N个B新像素点生成N个RGB像素点;

根据所述N个RGB像素点生成RGB转换图像。

可选的,处理器1001还用于执行第一方面中的任意可选方案的操作。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:位姿评价方法、位姿确定方法、对应装置和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!