图像处理方法、装置、计算机设备和存储介质与流程

文档序号:18001569发布日期:2019-06-25 22:54阅读:122来源:国知局
图像处理方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。



背景技术:

随着智能手机的普及以及拍照功能的不断加强,磨皮、美颜、去皱等图像美化技术成为了大多数人生活中不可缺少的一种基本技能。而逐渐成熟的数字摄像技术带来的高分辨率图像,以及网络直播的井喷式发展,让人们对图像美化技术有了更高的需求与要求。

目前,大部分图像美化算法是借助中央处理器(cpu,centralprocessingunit)进行处理的,而cpu的处理方式是串行处理,其存在的问题之一就是一旦图像的分辨率增大,cpu的处理时间将急剧上升,若超高分辨率视频图像在cpu上实现实时美化等操作时,会增加设备的处理时间,降低图像处理的效率。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高图像处理的效率的图像处理方法、装置、计算机设备和存储介质。

一种图像处理方法,所述方法包括:

获取yuv图像数据;

将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出所述最终yuv图像数据。

在其中一个实施例中,所述在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据,包括:

在所述图形处理器内存中根据所述yuv图像数据中每个像素的编号、图像宽度及分量长度计算出每个像素的u分量的索引及v分量的索引;

根据所述每个像素的编号、u分量的索引及v分量的索引,获得每个像素对应的y分量、u分量及v分量;

根据第一预设规则将所述每个像素对应的y分量、u分量及v分量并行转换为每个像素对应的r分量、g分量及b分量,并将所述r分量、g分量及b分量储存到对应的数组位置,得到所述rgb图像数据。

在其中一个实施例中,所述对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据,包括:

计算出所述rgb图像数据中每个像素的均值及平方和;

根据所述平方和得到每个像素的方差;

根据所述每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像;

针对所述第一图像融合图像进行肤色检测,得到所述第一图像融合图像的皮肤区域;

针对所述第一图像融合图像的皮肤区域进行第二次图像融合,得到所述经过美化的rgb图像数据。

在其中一个实施例中,所述根据所述每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像,包括:

获得第一可调节参数;

根据所述每个像素的方差及第一可调节参数,得到融合比例系数;

根据所述均值及所述融合比例系数调节rgb图像数据中每个像素的像素值,得到所述第一图像融合图像。

在其中一个实施例中,所述针对所述第一图像融合图像进行肤色检测,得到所述第一图像融合图像的皮肤区域,包括:

获得所述第一图像融合图像中每个像素的r分量、g分量及b分量;

当所述r分量、g分量及b分量符合预设条件时,将该像素确定为皮肤区域。

在其中一个实施例中,所述针对所述第一图像融合图像的皮肤区域进行第二次图像融合,得到所述经过美化的rgb图像数据,包括:

获取第二可调节参数;

根据所述第二可调节参数对所述皮肤区域的像素值进行调节,得到所述经过美化的rgb图像数据。

在其中一个实施例中,所述将所述经过美化的rgb图像数据并行转换为最终yuv图像数据,包括:

根据第二预设规则将所述经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

根据所述每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引;

根据所述u分量的索引及v分量的索引将所述y分量、u分量及v分量存储至对应的数组位置,得到所述最终yuv图像数据。

一种图像处理装置,所述装置包括:

数据获取模块,用于获取yuv图像数据;

复制模块,用于将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

第一并行转换模块,用于在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

图像美化模块,用于对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

第二并行转换模块,用于将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出模块,用于输出所述最终yuv图像数据。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取yuv图像数据;

将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出所述最终yuv图像数据。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取yuv图像数据;

将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出所述最终yuv图像数据。

上述图像处理方法、装置、计算机设备和存储介质,通过获取yuv图像数据;将yuv图像数据从中央处理器内存复制至图形处理器内存;在图形处理器内存中将yuv图像数据并行转换为rgb图像数据;对rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;将经过美化的rgb图像数据并行转换为最终yuv图像数据;输出最终yuv图像数据,降低设备的图像处理的时间,提高图像处理的效率。

附图说明

图1是一个实施例的一种图像处理方法的应用环境图;

图2是一个实施例的一种图像处理方法的流程示意图;

图3是一个实施例的一种yuv图像数据并行转换步骤的流程示意图;

图4是一个实施例的一种获得经过美化的rgb图像数据步骤的流程示意图;

图5是一个实施例的一种获取第一图像融合图像步骤的流程示意图;

图6是一个实施例的一种获取皮肤区域步骤的流程示意图;

图7是一个实施例的一种获得经过美化的rgb图像数据步骤的流程示意图;

图8是一个实施例的一种经过美化的rgb图像数据并行转换步骤的流程示意图;

图9是一个实施例的一种yuv图像数据的示意图;

图10是一个实施例的一种最终yuv图像数据的示意图;

图11是一个实施例的另一种yuv图像数据的示意图;

图12是一个实施例的另一种最终yuv图像数据的示意图;

图13是一个实施例的一种图像处理装置的结构框图;

图14是一个实施例的一种计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种图像处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:

步骤s201,获取yuv图像数据;

本实施例中,该yuv图像数据是指yuv格式的图像数据,yuv是一种颜色编码格式,其分为三个分量,“y”表示明亮度(luminance或luma),也就是灰度值;而“u”和“v”表示的则是色度(chrominance或chroma),作用是描述图像的色彩及饱和度,用于指定像素的颜色。yuv也是一种颜色编码格式。

在本实施例中,服务器104可以包括pc(personalcomputer,个人电脑)服务器、大型机、小型机,还可以包括云服务器,本实施例对服务器的种类及数量不作具体的限制。

进一步地,该yuv图像数据可以包括视频数据中的图像,即该yuv图像数据包括视频数据中每一帧的图像,具体地,可以获取到yuv格式的视频文件,将视频数据进行提取,获得每帧的yuv图像数据。

具体而言,可以通过摄像头等图像采集装置获取到该yuv格式的视频文件,而后将yuv格式的视频文件中的每一帧图像提取出来,即可得到该yuv图像数据。在一种优选实施例中,上述的图像采集装置可以与服务器连接,直接将采集到的yuv格式的视频文件或yuv图像数据发送至服务器,当检测到为yuv格式的视频文件时,服务器将该yuv格式的视频文件进行处理,提取出yuv图像数据。

步骤s202,将yuv图像数据从中央处理器内存复制至图形处理器内存;

从服务器的硬件架构而言,其一般可以包括中央处理器(cpu,centralprocessingunit)、图形处理器(gpu,graphicsprocessingunit),内存、硬盘及承载上述硬件的主板,其中,上述的中央处理器内存可以包括与中央处理器连接的内存,也可以包括中央处理器中的缓存,缓存即为cpu与内存之间的临时存储区;

另一方面,图形处理器是指专为执行复杂的数学和几何计算而设计的处理器,其是连接显示器与主板的重要元件。该图形处理器可以包括图像处理器内存。

进一步应用到本实施例中,当获取到yuv图像数据后,将该yuv图像数据从中央处理器(cpu,centralprocessingunit)内存复制到图形处理器(gpu,graphicsprocessingunit)内存中;具体地,通过摄像头等图像采集装置获取到该yuv图像数据后,可以将该yuv图像数据发送至服务器的存储装置上,cpu可以发送指令将yuv图像数据写入至缓存或内存,再将其传输至gpu内存。

步骤s203,在图形处理器内存中将yuv图像数据并行转换为rgb图像数据;

实际应用到本实施例中,cpu处理数据的过程是一个串行处理的过程,而gpu处理数据的过程是一个并行处理的过程,在本实施例的一种核心构思中,通过gpu并行处理的特性,在gpu内存中将yuv图像数据并行转换为rgb图像数据,提高图像数据处理效率。

具体而言,可以首先识别出yuv图像数据中每个像素的u分量、v分量的索引,根据上述的u分量、v分量的索引得到该yuv图像数据中的各个分量的值,再通过预设转换公式,将yuv图像数据中各个分量的值,转换为rgb图像数据中的r分量、g分量及b分量的值;具体地,可以在gpu内存并行地将该yuv图像数据中多个像素中的各个分量转换为r分量、g分量及b分量,提高图像处理效率。

需要说明的是,该rgb同样是一种颜色编码格式,r表示red,g表示green,b表示blue;红色绿色蓝色又称为三原色光,显示装置上任何一个颜色可以用rgb值来表示,即该rgb图像数据中的每一个像素都可以用rgb值来表示。

步骤s204,对rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

进一步地,还可以在图形处理器内存中针对rgb图像数据进行图像美化操作,得到经过美化的rgb图像数据;该图像美化操作可以包括图像检测、图像融合等操作,当然,也可以包括图像的均值滤波等操作,本实施例对此不作限制。

具体地,图像检测可以包括边缘检测、皮肤检测等操作,边缘检测是指检测图像数据中亮度变化明显的一个或多个的像素,边缘检测的算法通常可以差分边缘检测算法等;而肤色检测是指筛选出满足预设阈值的像素,以该像素作为皮肤区域,遍历图像数据中的多个像素,筛选出图像数据中的皮肤区域。

进一步地,图像融合可以是指调节rgb图像数据中各个像素的像素值,具体地,可以根据均值滤波后的图像进行像素值的调节,实现图像融合的效果。

本实施例中,将yuv图像数据转换为rgb图像数据,针对rgb图像数据进行处理,提高图像的色彩鲜艳度,增强图像的质量。

步骤s205,将经过美化的rgb图像数据并行转换为最终yuv图像数据;

实际应用到本实施例中,在得到该经过美化的rgb图像数据后,还可以在图形处理器内存中将经过美化的rgb图像数据并行转换为最终yuv图像数据,将经过美化的rgb格式的图像数据再转换为yuv格式的图像数据,提高转换效率,便于图像传输,以便后续的传输或其他操作,提高数据传输的效率;实现了yuv格式转rgb格式和rgb格式转yuv格式的gpu并行实现过程,充分利用gpu的硬件加速特性,提高了计算速度,降低了整体计算时延。

步骤s206,输出最终yuv图像数据。

具体应用到本实施例中,当服务器转换得到该最终yuv图像数据后,可以将最终yuv图像数据输出至终端;从输出对象的不同角度而言,cpu可以控制图形处理器内存输出该最终yuv图像数据至cpu内存中,再通过网络接口发送该最终yuv图像数据至终端,终端展现该最终yuv图像数据,需要说明的是,当最终yuv图像数据的数量为多帧时,可以以视频播放的方式展现该多帧的最终yuv图像数据。

在一种优选实施例中,从应用场景的角度而言,本实施例的方法还可以单独应用于终端或服务器,即某个终端中的硬件构成中若包含gpu内存与cpu内存,则可以将yuv图像数据从中央处理器内存复制至图形处理器内存,在图形处理器内存中将yuv图像数据并行转换为rgb图像数据;再将该rgb图像数据进行图像美化操作,得到美化后的rgb图像数据,若该终端包括显示装置,还可以在显示装置上显示美化后的rgb图像数据,或者,还可以将该美化后的rgb图像数据转换为最终yuv图像数据,再显示到显示装置上。

若单独应用到服务器,则输出最终yuv图像数据到服务器的显示装置,在服务器的显示装置上展现该最终yuv图像数据。

根据本实施例提供的图像处理方法,获取yuv图像数据;将yuv图像数据从中央处理器内存复制至图形处理器内存;在图形处理器内存中将yuv图像数据并行转换为rgb图像数据;对rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;将经过美化的rgb图像数据并行转换为最终yuv图像数据;输出最终yuv图像数据,降低设备的图像处理的时间,提高图像处理的效率。

在另一个实施例中,参照图3,示出了本实施例的一种yuv图像数据并行转换步骤的流程示意图,在图形处理器内存中将yuv图像数据并行转换为rgb图像数据,包括以下子步骤:

子步骤s11,在图形处理器内存中根据yuv图像数据中每个像素的编号、图像宽度及分量长度计算出每个像素的u分量的索引及v分量的索引;

子步骤s12,根据每个像素的编号、u分量的索引及v分量的索引,获得每个像素对应的y分量、u分量及v分量;

子步骤s13,根据第一预设规则将每个像素对应的y分量、u分量及v分量并行转换为每个像素对应的r分量、g分量及b分量,并将r分量、g分量及b分量储存到对应的数组位置,得到rgb图像数据。

具体而言,在yuv图像数据的并行转换过程中,可以获取到该yuv图像数据中每个像素的编号、图像宽度及分量长度,该分量长度可以包括y分量的长度;首先根据该每个像素的编号、图像宽度及分量长度得到每个像素的u分量的索引及v分量的索引。

得到每个像素的u分量的索引及v分量的索引后,可以根据上述的索引查找到对应像素的y分量、u分量及v分量。

在本实施例中,还可以预置有第一预设规则,根据该第一预设规则将y分量、u分量及v分量转换为r分量、g分量及b分量,将其储存于对应的数组位置,该数组的类型可以包括int型数组。

在一种举例中,该yuv图像数据从cpu内存复制到gpu内存后,在gpu内存中将yuv图像数据进行转换,得到rgb图像数据。

该转换过程可以描述如下,设d_yuv表示gpu内存中的yuv数据数组,w表示图像宽度,longth表示y分量长度,则获取y分量、u分量、v分量的cuda(computeunifieddevicearchitecture,统一计算设备架构)代码可表示为:

intu_idx=((i/w)/2)*(w/2)+((i%w)/2)+longth;

intv_idx=u_idx+longth/4;

inty_value=d_yuv[i];

intu_value=d_yuv[u_idx];

intv_value=d_yuv[v_idx];

其中,i表示yuv图像数据的第i个像素;u_idx表示对应于第i个像素的u分量的索引;v_idx表示对应于第i个像素的v分量的索引;y_value、u_value、v_value分别表示对应于第i个像素的yuv各分量的值,结合下述的转换公式(1)可以得到对应的rgb色彩空间中每个像素的值。将每个像素rgb各通道的值分别存储在一个int型数组元素中,能够减少图像美化过程中的内存访问延时。

该转换公式(1)中的y、u、v分别表示y分量的值、u分量的值及v分量的值;而该转换公式(1)中的r、g、b分别表示r分量的值、g分量的值及b分量的值,其中,该转换公式(1)即为该第一预设规则,将每个像素的y分量的值、u分量的值及v分量的值通过该转换公式换算得每个像素的r分量、g分量及b分量。

本实施例中,所有计算过程转到gpu中实现,cpu端只负责数据的输入和输出,能够获得转换效果的同时节省了计算时间。

在另一个实施例中,参照图4,示出了本实施例的一种获得经过美化的rgb图像数据步骤的流程示意图,对rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据,包括以下子步骤:

子步骤s21,计算出rgb图像数据中每个像素的均值及平方和;

子步骤s22,根据平方和得到每个像素的方差;

子步骤s23,根据每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像;

子步骤s24,针对第一图像融合图像进行肤色检测,得到第一图像融合图像的皮肤区域;

子步骤s25,针对第一图像融合图像的皮肤区域进行第二次图像融合,得到经过美化的rgb图像数据。

进一步应用到本实施例中,在图像美化操作过程中,还可以计算出该rgb图像数据每个像素的均值及平方和。

具体地,每个像素的均值计算公式如下:

其中,e表示每个像素各分量范围内的均值,fi,j表示图像中第i行j列的像素值,r为计算半径。

进一步地,每个像素的平方和计算公式如下:

其中,squ表示平方和,fi,j表示图像中第i行j列的像素值,r为计算半径,需要说明的是,为加快计算速度,可以利用gpu内存中的共享内存的高速访存速度优势,对图像中每个像素的求和进行分步计算,首先进行列方向求和,然后进行行方向求和,分步计算有效降低了求和过程中的计算冗余。

具体地,还可以在求和之前要先将每个线程块包含的所有线程负责的像素复制到对应的共享内存中,再在共享内存基础上进行求和及求平方和操作以提高处理速度。其中,求和半径r与图像的长和宽有关,r的换算关系为:r=max(长,宽)*c,c为半径系数,一般0.01<c<0.02。

在计算出平方和之后,还可以根据该平方和计算图像中每个像素的方差,可以参照以下方差计算公式(4);

其中,var表示方差,ssum=e*(2*r+1)2为邻域内像素的和,e表示每个像素各分量范围内的均值,r为计算半径,w=(2*r+1)2为邻域窗口大小。

通过上述的公式得到rgb图像数据每个像素各个分量的均值与方差后,可以根据该均值与方差进行第一次图像融合,获得第一图像融合图像。

在获取到第一图像融合图像之后,还可以检测出该第一图像融合图像的皮肤区域;针对该皮肤区域进行第二次图像融合,得到经过美化的rgb图像数据;

需要说明的是,上述的图像美化操作仅仅是本实施例的一种举例,还可以通过其他的方式针对该rgb图像数据进行美化,如针对该rgb图像数据进行边缘检测,检测出人物图像区域,调节该人物图像区域的色调及饱和度,得到美化后的rgb图像数据,本实施例对此不作限制。

本实施例中,将图像美化操作转移到gpu中进行实现,并提出了均值滤波与平方和操作的分步计算过程,同时运用了共享内存的快速存取的优势,节省了图像美化的时间,实现了高分辨率以及超高分辨率视频图像上的实时美化。

在一种具体示例中,参照图5,示出了本实施例的一种获取第一图像融合图像步骤的流程示意图,根据每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像,包括以下子步骤:

子步骤s231,获得第一可调节参数;

子步骤s232,根据每个像素的方差及第一可调节参数,得到融合比例系数;

子步骤s233,根据均值及融合比例系数调节rgb图像数据中每个像素的像素值,得到第一图像融合图像。

在第一次图像融合的过程中,可以首先计算出该第一可调节参数,根据该第一可调节参数及每个像素的方差,计算得到融合比例系数t。

具体地,可以通过系数计算公式得到该融合比例系数t,系数计算公式如下所示;

t=var/(var+σ)--------系数计算公式(5)

其中,σ表示第一可调节参数,var表示方差,首先计算方差与第一可调节参数的和,再将方差与两个参数的和的比值确定为融合比例系数,该融合比例系数用于调节图像数据各部分的融合比例。

进一步地,还可以通过融合公式(6)针对rgb图像数据进行第一次图像融合,融合公式(6)如下所示:

inew=(1-t)*e+t*iold--------融合公式(6)

其中,该iold表示原始的rgb图像数据,e表示每个像素各分量范围内的均值(即均值滤波图像),iwen表示第一图像融合图像,根据均值及融合比例系数调节rgb图像数据中每个像素的像素值,得到第一图像融合图像inew。

需要说明的是,除了采用上述的均值方差算法进行第一次图像融合外,还可以使用多种其他的图像模糊算法来实现第一次图像融合,如高斯模糊等图像模糊算法,本实施例对具体的算法种类不作过多的限制。

在一种具体示例中,参照图6,示出了本实施例的一种获取皮肤区域步骤的流程示意图,针对第一图像融合图像进行肤色检测,得到第一图像融合图像的皮肤区域,包括以下子步骤:

子步骤s241,获得第一图像融合图像中每个像素的r分量、g分量及b分量;

子步骤s242,当r分量、g分量及b分量符合预设条件时,将该像素确定为皮肤区域。

进一步地,在进行第一次图像融合后,可以识别出第一图像融合图像中每个像素的r分量、g分量及b分量;针对每个像素的r分量、g分量及b分量进行筛选,即判断每个像素的r分量、g分量及b分量是否符合预设条件,将符合预设条件的像素确定为皮肤区域,遍历该第一图像融合图像中的每个像素后,筛选出第一图像融合图像中所有符合预设条件的像素作为皮肤区域。

举例而言,该预设条件可以包括r>95,g>40,b>20,r>g,r>b以及5其中,上述的r,g,b为像素的rgb各通道的值,因为通常人的肤色的rgb值具有一定的规律(即预设条件),该规律是经过统计分类得到的,若像素的rgb各通道的值符合上述的预设条件,则可以说明该像素属于皮肤区域的一部分。

在一种具体示例中,参照图7,示出了本实施例的一种获得经过美化的rgb图像数据的流程示意图,针对第一图像融合图像的皮肤区域进行第二次图像融合,得到经过美化的rgb图像数据,包括以下子步骤:

子步骤s251,获取第二可调节参数;

子步骤s252,根据第二可调节参数对皮肤区域的像素值进行调节,得到经过美化的rgb图像数据。

在一种优选的实施例中,还可以获得第二可调节参数α;根据第二可调节参数对皮肤区域的像素值进行调节,得到经过美化的rgb图像数据。

具体地,还可以通过融合公式(7)针对皮肤区域进行第二次图像融合,融合公式(7)如下所示:

in=(iold*α+inew*(255-α))/256--------融合公式(7)

其中,α表示第二可调节参数,in表示经过美化的rgb图像数据,iold表示原始的rgb图像数据,inew表示第一图像融合图像;将经过美化的rgb图像数据中每个像素的rgb各通道的值存储在一个int型数组元素中,以便后续转换成yuv色彩空间。

在一种具体示例中,参照图8,示出了本实施例的一种经过美化的rgb图像数据并行转换步骤的流程示意图,将经过美化的rgb图像数据并行转换为最终yuv图像数据,包括以下子步骤:

子步骤s31,根据第二预设规则将经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

子步骤s32,根据每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引;

子步骤s33,根据u分量的索引及v分量的索引将y分量、u分量及v分量存储至对应的数组位置,得到最终yuv图像数据。

进一步应用到本发明实施例中,得到经过美化的rgb图像数据后,还可以将其转换为yuv格式的图像,便于数据传输,具体而言,首先可以通过第二预设规则将经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

举例而言,该第二预设规则即为转换公式(2),该转换公式(2)如下所示

转换公式(2)中的y、u、v分别表示y分量的值、u分量的值及v分量的值;而该转换公式(2)中的r、g、b分别表示r分量的值、g分量的值及b分量的值;

在得到该y分量的值、u分量的值及v分量的值后,可以根据每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引,具体地,得到上述的u分量的索引及v分量的索引可以通过以下的寻址计算方式实现:

intu_idx=((i/w)/2)*(w/2)+((i%w)/2)+longth;

intv_idx=u_idx+longth/4;

其中,该i表示图像的第i个像素;u_idx和v_idx分别表示存储yuv数据的数组中u分量和v分量的索引;根据u分量的索引及v分量的索引将y分量、u分量及v分量存储至对应的数组位置,得到最终yuv图像数据。

参照图9,示出了本实施例的一种yuv图像数据的示意图,如图9所示,图中的人物皮肤区域未经处理,较为粗糙;参照图10,示出了本实施例的一种最终yuv图像数据的示意图,如图10所示,图中的人物的皮肤区域经图像美化处理,显示效果较好。

参照图11,示出了本实施例的另一种yuv图像数据的示意图,如图11所示,图中的人物皮肤区域未经处理,较为粗糙;参照图12,示出了本实施例的另一种最终yuv图像数据的示意图,如图12所示,图中的人物的皮肤区域经图像美化处理,显示效果较好。

应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图13所示,提供了一种图像处理装置,包括:数据获取模块301、复制模块302、第一并行转换模块303、图像美化模块304、第二并行转换模块305和输出模块306,其中:

数据获取模块301,用于获取yuv图像数据;

复制模块302,用于将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

第一并行转换模块303,用于在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

图像美化模块304,用于对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

第二并行转换模块305,用于将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出模块306,用于输出所述最终yuv图像数据。

在其中一个实施例中,所述第一并行转换模块包括:

索引计算子模块,用于在所述图形处理器内存中根据所述yuv图像数据中每个像素的编号、图像宽度及分量长度计算出每个像素的u分量的索引及v分量的索引;

分量获得子模块,用于根据所述每个像素的编号、u分量的索引及v分量的索引,获得每个像素对应的y分量、u分量及v分量;

rgb图像数据获得子模块,用于根据第一预设规则将所述每个像素对应的y分量、u分量及v分量并行转换为每个像素对应的r分量、g分量及b分量,并将所述r分量、g分量及b分量储存到对应的数组位置,得到所述rgb图像数据。

在其中一个实施例中,所述图像美化模块包括:

计算子模块,用于计算出所述rgb图像数据中每个像素的均值及平方和;

方差获得子模块,用于根据所述平方和得到每个像素的方差;

第一融合子模块,用于根据所述每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像;

肤色检测子模块,用于针对所述第一图像融合图像进行肤色检测,得到所述第一图像融合图像的皮肤区域;

第二融合子模块,用于针对所述第一图像融合图像的皮肤区域进行第二次图像融合,得到所述经过美化的rgb图像数据。

在其中一个实施例中,所述第一融合子模块包括:

第一参数获得单元,用于获得第一可调节参数;

系数获得单元,用于根据所述每个像素的方差及第一可调节参数,得到融合比例系数;

融合图像获得单元,用于根据所述均值及所述融合比例系数调节rgb图像数据中每个像素的像素值,得到所述第一图像融合图像。

在其中一个实施例中,所述肤色检测子模块包括:

分量获得单元,用于获得所述第一图像融合图像中每个像素的r分量、g分量及b分量;

皮肤区域确定单元,用于当所述r分量、g分量及b分量符合预设条件时,将该像素确定为皮肤区域。

在其中一个实施例中,所述第二融合子模块包括:

第二参数获得单元,用于获取第二可调节参数;

调节单元,用于根据所述第二可调节参数对所述皮肤区域的像素值进行调节,得到所述经过美化的rgb图像数据。

在其中一个实施例中,所述第二并行转换模块包括:

并行转换子模块,用于根据第二预设规则将所述经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

索引获得子模块,用于根据所述每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引;

图像数据获得子模块,用于根据所述u分量的索引及v分量的索引将所述y分量、u分量及v分量存储至对应的数组位置,得到所述最终yuv图像数据。

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

上述提供的图像处理装置可用于执行上述任意实施例提供的图像处理方法,具备相应的功能和有益效果。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取yuv图像数据;

将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出所述最终yuv图像数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

在所述图形处理器内存中根据所述yuv图像数据中每个像素的编号、图像宽度及分量长度计算出每个像素的u分量的索引及v分量的索引;

根据所述每个像素的编号、u分量的索引及v分量的索引,获得每个像素对应的y分量、u分量及v分量;

根据第一预设规则将所述每个像素对应的y分量、u分量及v分量并行转换为每个像素对应的r分量、g分量及b分量,并将所述r分量、g分量及b分量储存到对应的数组位置,得到所述rgb图像数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算出所述rgb图像数据中每个像素的均值及平方和;

根据所述平方和得到每个像素的方差;

根据所述每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像;

针对所述第一图像融合图像进行肤色检测,得到所述第一图像融合图像的皮肤区域;

针对所述第一图像融合图像的皮肤区域进行第二次图像融合,得到所述经过美化的rgb图像数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获得第一可调节参数;

根据所述每个像素的方差及第一可调节参数,得到融合比例系数;

根据所述均值及所述融合比例系数调节rgb图像数据中每个像素的像素值,得到所述第一图像融合图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获得所述第一图像融合图像中每个像素的r分量、g分量及b分量;

当所述r分量、g分量及b分量符合预设条件时,将该像素确定为皮肤区域。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取第二可调节参数;

根据所述第二可调节参数对所述皮肤区域的像素值进行调节,得到所述经过美化的rgb图像数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据第二预设规则将所述经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

根据所述每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引;

根据所述u分量的索引及v分量的索引将所述y分量、u分量及v分量存储至对应的数组位置,得到所述最终yuv图像数据。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取yuv图像数据;

将所述yuv图像数据从中央处理器内存复制至图形处理器内存;

在所述图形处理器内存中将所述yuv图像数据并行转换为rgb图像数据;

对所述rgb图像数据进行图像美化操作,获得经过美化的rgb图像数据;

将所述经过美化的rgb图像数据并行转换为最终yuv图像数据;

输出所述最终yuv图像数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

在所述图形处理器内存中根据所述yuv图像数据中每个像素的编号、图像宽度及分量长度计算出每个像素的u分量的索引及v分量的索引;

根据所述每个像素的编号、u分量的索引及v分量的索引,获得每个像素对应的y分量、u分量及v分量;

根据第一预设规则将所述每个像素对应的y分量、u分量及v分量并行转换为每个像素对应的r分量、g分量及b分量,并将所述r分量、g分量及b分量储存到对应的数组位置,得到所述rgb图像数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算出所述rgb图像数据中每个像素的均值及平方和;

根据所述平方和得到每个像素的方差;

根据所述每个像素的均值及方差进行第一次图像融合,获得第一图像融合图像;

针对所述第一图像融合图像进行肤色检测,得到所述第一图像融合图像的皮肤区域;

针对所述第一图像融合图像的皮肤区域进行第二次图像融合,得到所述经过美化的rgb图像数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获得第一可调节参数;

根据所述每个像素的方差及第一可调节参数,得到融合比例系数;

根据所述均值及所述融合比例系数调节rgb图像数据中每个像素的像素值,得到所述第一图像融合图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获得所述第一图像融合图像中每个像素的r分量、g分量及b分量;

当所述r分量、g分量及b分量符合预设条件时,将该像素确定为皮肤区域。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取第二可调节参数;

根据所述第二可调节参数对所述皮肤区域的像素值进行调节,得到所述经过美化的rgb图像数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据第二预设规则将所述经过美化的rgb图像数据的每个像素的r分量、g分量及b分量并行转换为对应的y分量、u分量及v分量;

根据所述每个像素的编号、图像宽度及分量长度得到u分量的索引及v分量的索引;

根据所述u分量的索引及v分量的索引将所述y分量、u分量及v分量存储至对应的数组位置,得到所述最终yuv图像数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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