具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
现在的艺术风格转换大多数都需要通过机器学习,使用大量的数据进行训练以达到一种较好的效果。然而,该方式耗时时间之长,且模型训练和移植适应性和硬件要求都比较严格,有的甚至只能通过后台服务器处理,再将处理结果发送到前端。
发明人经过长时间的研究并提出了本申请实施例中的图像处理方法、装置、电子设备以及存储介质,其不同于机器学习的方法,只需要对应一种色彩在不同亮度上的反射图表,就可以完成相应的风格转换,具有很好的性能和适配性。硬件要求只需要支持openGL/openGL es 2.0即可,硬件要求不高。下面将通过具体实施例进行详细说明。
请参见图1,图1示出了本申请实施例提供的图像处理方法的应用场景的示意图,该应用场景包括本申请实施例提供的一种交互系统10。该交互系统10包括:终端设备100以及服务器200。其中,终端设备100和服务器200位于无线网络或有线网络中,终端设备100和服务器200可以进行数据交互。在一些实施方式中,终端设备100可以为多个,服务器200可以与多个终端设备100通信连接,多个终端设备100之间也可以相互通过互联网进行通信连接,也可以将服务器200作为传输中介,并通过互联网来实现相互间的数据交互。
在本申请实施例中,终端设备100可以是移动手机、智能手机、笔记本电脑、台式电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、可穿戴电子设备等,具体的终端设备类型在本申请实施例中可以不作为限定。服务器200可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器,具体的服务器类型在本申请实施例中可以不作为限定。
在一些实施例中,终端设备100内可以安装有客户端。该客户端可以是安装在终端设备100上的计算机应用程序(Application,APP),也可以是Web客户端,该Web客户端可指基于Web架构而开发的应用程序。在一些实施例中,用户在客户端通过帐号登录,则该帐号对应的所有信息可以存储在服务器200的存储空间内。其中,该账号对应的信息包括用户通过客户端输入的信息以及用户通过客户端接收的信息等。
在一些实施方式中,客户端可以是图像处理类的应用程序,如相册、美图APP、短视频编辑APP等,也可以是实时视频交流平台的应用程序。作为一种方式,客户端可以是直播平台的应用程序,客户端的直播界面上可显示直播内容。
进一步地,客户端也可接收用户基于客户端输入的触发事件(如点击事件、触摸事件等),该触发事件可作用于操作界面上所显示的操控对象。客户端接收到该触发事件,可执行与该触发事件所作用的操控对象对应的操作。其中,操控对象可以是操作界面上所显示的功能控件,也可以是操作界面中的显示内容。
请参阅图2,图2示出了本申请实施例提供的一种图像处理方法的流程示意图,可应用于电子设备,该电子设备可以是上述终端设备。在具体的实施例中,该图像处理方法也可应用于如图14所示的图像处理装置600以及图15所示的电子设备800。下面将针对图2所示的流程进行详细的阐述。该图像处理方法可以包括以下步骤:
步骤S110:获取待处理的目标图像。
在本申请实施例中,电子设备可以先获取待处理的目标图像,以对该目标图像进行风格转换。其中,该目标图像可以是图像采集装置实时采集的图像,如电子设备上的摄像头实时拍摄的图片,也可以是实时采集的视频中的视频帧图像,此时不作限定。
在一些实施例中,电子设备可以是从本地存储器中获取到待处理的目标图像,也可以是从服务器下载待处理的目标图像,还可以是从其他设备处获取到该目标图像,此处不作限定。例如,从服务器下载视频后,将视频中的部分视频帧图像作为待处理的目标图像。
步骤S120:基于所述目标图像中至少部分像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的颜色进行目标风格的色彩转换,所述色彩亮度反射表包括根据所述目标风格的图像中色彩在不同亮度值下的反射效果,所建立的色彩转换关系。
在本申请实施例中,电子设备在获取到待处理的目标图像后,可以对目标图像中像素点的颜色进行目标风格的色彩转换,以得到该像素点转换后的新颜色。其中,目标风格可以是目标图像需要转换的风格,如素描画、水墨画、水彩画、油画、蜡笔画、铅笔画等不同艺术风格,也可以对各种艺术风格进行细分,如暖色水彩画、冷色水彩画,暖色油画等。目标图像具体需要转换的艺术风格此处不作限定。在一些实施例中,目标图像要转换的目标风格可以由用户选择,也可以是系统默认,此处不作限定。
具体地,电子设备可以根据预设的色彩亮度反射表,对目标图像中像素点的颜色进行目标风格的色彩转换。由于该色彩亮度反射表包括根据目标风格的图像中色彩在不同亮度值下的反射效果,所建立的色彩转换关系,因此,电子设备可基于目标图像中像素点的颜色对应的亮度值,以及该色彩转换关系,确定该像素点转换后的新颜色。
在一些实施例中,不同的风格可对应不同的色彩亮度反射表,也即,可按照某种艺术风格,色彩在不同亮度值下的反射效果,制作出色彩亮度反射表。电子设备可从预设的所有色彩亮度反射表中查找到与目标风格对应的色彩亮度反射表,从而可以根据查找到的色彩亮度反射表,对目标图像进行目标风格的色彩转换。
在一些实施例中,电子设备对目标图像进行色彩转换时,可以是对目标图像中的所有像素点的颜色都进行目标风格的色彩转换,也可以是仅对目标图像中的部分像素点的颜色都进行目标风格的色彩转换,此处不作限定。例如,可以是对目标图像中的中心区域的像素点的颜色进行目标风格的色彩转换。
步骤S130:基于所述至少部分像素点对应的转换后的新颜色,生成与所述目标图像对应的所述目标风格的色彩图像。
在本申请实施例中,电子设备在对至少部分像素点的颜色进行目标风格的色彩转换后,可以得到至少部分像素点对应的转换后的新颜色,电子设备可基于该转换后的新颜色,生成与目标图像对应的目标风格的色彩图像。实现了图像的色彩转换,得到了不同于原始图像的色彩效果。
在一些实施例中,电子设备可根据得到的像素点转换后的新颜色,对目标图像中像素点的颜色进行调制,以将目标图像中像素点的颜色对应调整为转换后的新颜色,从而生成新的图像,该图像即为目标图像转换后,具有目标风格的色彩图像。
例如,当进行水彩风格的色彩转换时,请参阅图3和图4,图3示出了一种效果示意图,图4示出了另一种效果示意图。其中,图3的左侧图为原始图像,右侧图为经过暖色水彩风格的色彩转换后的色彩图像;图4的左侧图为原始图像,右侧图为经过冷色水彩风格的色彩转换后的色彩图像。
示例性的,请参阅图5,图5示出了一种图像处理方法的整体流程示意图。用户输入图片或视频至电子设备,电子设备获取到用户的图片或者视频帧图像后,可以根据艺术画隐射核心算法对该图片或视频帧图像进行处理,从而可生成带艺术化效果的用户图片或视频帧图像。然后电子设备可对该艺术化效果的图片或视频进行显示输出,从而用户可观看到图片或视频艺术风格转换后的效果。其中,该艺术画隐射核心算法根据预设的不同艺术风格的色彩亮度隐射表确定。
本申请实施例提供的图像处理方法,通过获取待处理的目标图像,然后基于该目标图像中至少部分像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对至少部分像素点的颜色进行目标风格的色彩转换,以便可基于至少部分像素点对应的转换后的新颜色,生成与目标图像对应的目标风格的色彩图像,从而实现不同于原始图像的色彩效果。其中,色彩亮度反射表包括根据目标风格的图像中色彩在不同亮度值下的反射效果,所建立的色彩转换关系。可见,本申请仅需预先创建好色彩在不同风格、不同亮度下的色彩亮度反射表,在需要进行图像的相应风格的色彩转换时,直接根据该色彩亮度反射表对图像中的原始颜色进行色彩转换即可,不仅降低了运算复杂度,提高了图像的色彩转换速度,且对终端的硬件要求也不高,具备很好的性能和适配性。
请参阅图6,图6示出了本申请另一实施例提供的一种图像处理方法的流程示意图,可应用于电子设备,该图像处理方法可以包括:
步骤S210:获取待处理的目标图像。
步骤S220:基于所述目标图像中至少部分像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的颜色进行目标风格的色彩转换,所述色彩亮度反射表包括根据所述目标风格的图像中色彩在不同亮度值下的反射效果,所建立的色彩转换关系。
在本申请实施例中,步骤S210和S220可以参阅前述实施例的内容,此处不再赘述。
在一些实施例中,电子设备可以是仅对目标图像中的指定区域进行色彩转换。也即上述至少部分像素点可以是指定区域内的所有像素点。具体地,电子设备在获取待处理的目标图像之后,可以获取目标图像中待处理的指定区域。然后可基于指定区域中各个像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对指定区域中各个像素点的颜色进行目标风格的色彩转换。其中,指定区域可以是默认区域,也可以由用户选择,此处不作限定。例如,用户可通过在电子设备的触摸屏上的滑动操作,圈出目标图像中要进行风格转换的指定区域。
在一些实施例中,由于视角焦点通常集中在图像中心处,图像的四周边缘区域可以不进行上述的色彩转换,而是进行相框效果的处理。其中,相框效果的样式可以预先由设计师设置,可以根据不同风格制作不同的相框效果,也可以是固定相框效果,此处不作限定。例如,相框效果也可以是虚化效果。作为一种方式,进行相框效果处理的区域也可以是上述指定区域外的区域。例如,当用户选择出要进行色彩转换的指定区域时,可以对指定区域外的区域都进行虚化处理。
在一些实施例中,色彩亮度反射表可以与颜色亮度具有对应关系,当像素点的亮度值满足该颜色亮度时,才可根据该该颜色亮度对应的色彩亮度反射表进行色彩转换。也就说,电子设备可以根据像素点的颜色亮度,确定出用于进行色彩转换的色彩亮度反射表。具体地,请参阅图7,步骤S220可以包括:
步骤S221:基于所述目标图像中至少部分像素点的颜色对应的亮度值,确定对应的色彩亮度反射表。
由于色彩亮度反射表可以与颜色亮度具有对应关系。因此,当目标图像中的存在至少部分像素点的颜色需要进行色彩转换时,电子设备可以获取这些像素点的颜色对应的亮度值,以根据该亮度值确定出对应的色彩亮度反射表进行色彩转换。
在一些实施例中,电子设备可以根据当前像素点的颜色亮度,确定对当前像素点的颜色进行色彩转换的色彩亮度反射表。具体地,请参阅图8,步骤S221可以包括:
步骤S2211:获取所述目标图像中当前像素点的颜色对应的当前亮度值,所述当前像素点为所述至少部分像素点中的任一像素点。
步骤S2212:基于所述当前亮度值,确定对应的色彩亮度反射表。
当目标图像中的存在至少部分像素点的颜色需要进行色彩转换时,电子设备可以对这些像素点一一进行色彩转换。具体地,电子设备获取所述目标图像中当前像素点的颜色对应的当前亮度值,以基于当前亮度值,确定对应的色彩亮度反射表。其中,当前像素点为上述至少部分像素点中的任一像素点。
由于GPU(Graphic Processing Unit,图形处理器)具备并行计算能力,因此,在一些实施例中,可以采用GPU硬件加速算法进行色彩转换,以实现图像的实时色彩转换。其中,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。这样,由于使用GPU加速,所以本申请也可以用于用户视频实时转换。
需要说明的是,若使用GPU加速计算,则图像中的像素点的颜色亮度值的范围可归一化为[0.0,1.0]的范围。其中,颜色亮度值的归一化可以是通过将颜色亮度值除以最大亮度值来实现,最大亮度值一般为255。例如,目标图像(i,j)位置的RGB值为(76,87,125),归一化后的数值可为(0.298,0.341,0.49)。
由于颜色的亮度值一般分为0~255共256个等级,不同的亮度数值表示的是颜色的不同亮度,如0表示亮度为0%,255表示亮度为100%。因此,在一些实施例中,为了提高转换后的风格效果的真实性,可以根据颜色的每个亮度数值,制作出对应的色彩亮度反射表。也就是说,当需要转换为目标风格时,可以按照目标风格,制作出不同亮度下的色彩亮度反射表,即256个色彩亮度反射表。从而电子设备在获取到当前像素点的颜色对应的当前亮度值,可以从该256个色彩亮度反射表中,查找与当前亮度值对应的色彩亮度反射表进行色彩转换。
在一些实施例中,当需要进行不同风格的转换时,如果每种风格都制作256个色彩亮度反射表,则对于设计师来说工作量是巨大的,且256个色彩亮度反射表可能会不利于算法的兼容性和性能的提高。因此,可以从0~255中采用部分的亮度值,进行色彩亮度反射表的制作。从而既可以实现图像的风格转换,也可以保证算法的兼容性和设备性能。
作为一种方式,可以将选取出的用于制作色彩亮度反射板的多个亮度值从小到大进行排序,其中,每个亮度值可作为一个亮度级,每个亮度级对应一个色彩亮度反射表。此时色彩亮度反射表也为多个,且多个色彩亮度反射表与多个亮度级一一对应。在一些实施例中,相邻两个亮度级之间可存在多个亮度值。
作为一种方式,可以对0~255进行均分,以保证采用的亮度值之间的差值近似相等。例如,假设从0~255级亮度中只采用0、31、63、95、127、159、191、223、255九个亮度级,进行色彩亮度反射表的制作,可分别用L0、L1、L2、L3、L4、L5、L6、L7、L8来表示这九个亮度级平面,其存在8个亮度区间,每个亮度区间的差值近似相等。
在一些实施例中,当划分了多个亮度级时,当前像素点的亮度值很大可能落在亮度区间内,因此,电子设备可以根据该亮度区间对应的两个亮度级,确定用于色彩转换的两个色彩亮度反射表。具体地,请参阅图9,步骤S2212可以包括:
步骤S2212a:从所述多个亮度级中,确定所述当前亮度值对应的第一亮度级和第二亮度级,其中,所述第一亮度级与所述第二亮度级相邻,且所述当前亮度值处于所述第一亮度级与所述第二亮度级之间。
步骤S2212b:确定所述第一亮度级对应的第一色彩亮度反射表。
步骤S2212c:确定所述第二亮度级对应的第二色彩亮度反射表。
在一些实施例中,由于相邻两个亮度级形成一个亮度区间,如果当前像素点的当前亮度值未落在亮度级上,而是落在了亮度区间中,则电子设备可以根据当前亮度值所在的亮度区间,确定对应的第一亮度级和第二亮度级。其中,第一亮度级与第二亮度级相邻,且当前亮度值处于第一亮度级与第二亮度级之间。然后电子设备可以根据确定的第一亮度级,查找到对应的第一色彩亮度反射表;根据确定的第二亮度级,查找到对应的第二色彩亮度反射表。以便后续可根据这两个色彩亮度反射表进行色彩转换。
例如,以上述九个亮度级为例,若当前的亮度值为15,则其处于0~31的亮度区间内,其对应的第一亮度级可以是0(L0),第二亮度级可以是31(L1)。又例如,若使用GPU加速计算,则需要进行归一化处理,此时上述九个亮度级的亮度值归一化后的值为:0、0.122、0.247、0.374、0.498、0.749、0.875、1。若当前的亮度值归一化后的数值为0.298时,则可以看出其处于0.247~0.374的亮度区间,其对应的第一亮度级可以是0.247(L2)、第二亮度级可以是0.374(L3)。
由于亮度级数和亮度值归一化后的值(0~1)呈倍数关系,例如,上述9个亮度级(第0级L0~第8级L8)与(0~1)呈8倍关系。因此,在一些实施例中,为了计算简便,可以将亮度值归一化后的值乘上该倍数后再进行亮度区间的判断。示例性的,假设划分为上述9个亮度级,若当前的亮度值归一化后的数值为0.298时,其乘上8后的值为2.384,其数值范围在2~3区间,因此其对应的第一亮度级可以是L2,第二亮度级可以是L3。
步骤S222:基于所述色彩亮度反射表,对所述至少部分像素点的颜色进行目标风格的色彩转换。
电子设备在根据至少部分像素点的颜色对应的亮度值,得到对应的色彩亮度反射表后,可以对这些像素点的颜色进行目标风格的色彩转换。
作为一种方式,色彩亮度反射表可以是二维图表,表中的各个反射颜色可以与像素点在目标图像中的位置对应,可丰富色彩效果,使得色彩转换后的效果更接近真实。具体地,请参阅图10,步骤S222可以包括:
步骤S2221:基于所述色彩亮度反射表,确定所述当前像素点对应的目标风格的反射颜色,其中,所述色彩亮度反射表中包括所述目标风格的多个反射颜色,所述多个反射颜色与所述目标图像中的像素点位置对应。
电子设备可以根据当前像素点在图像中的位置,确定映射到色彩亮度反射表中的映射位置,该映射位置处理的颜色即为当前像素点对应的目标风格的反射颜色。
在一些实施例中,色彩亮度反射表可以是颜色图,颜色图中的每个像素点的位置都对应一个反射颜色。其中,颜色图可以与目标图像同尺寸,也可以是不同尺寸。当不同尺寸时,电子设备可根据像素点在图像中的位置比例,确定映射位置。例如,当目标图像的尺寸为1000px*1000px,色彩亮度反射表的尺寸为500px*500px时,若当前像素点的位置为(800,700),则其位置比例可换算为(0.8,0.7),其在色彩亮度反射表中的映射位置可以是(0.8*500=400,0.7*500=350),也即色彩亮度反射表中(400,500)对应的颜色即为目标图像中(800,700)的反射颜色。
在一些实施例中,当根据当前像素点的当前亮度值确定出第一色彩亮度反射表和第二色彩亮度反射表时,可以基于所述第一色彩亮度反射表以及所述第二色彩亮度反射表,确定所述当前像素点对应目标风格的反射颜色。
作为一种方式,可以是直接根据当前亮度值更接近的亮度级所对应的色彩亮度反射表,来确定当前像素点对应目标风格的反射颜色。例如,当前亮度值为30时,由于其更接近于31(L1),因此可根据L1对应的色彩亮度反射表,确定反射颜色。
作为另一种方式,也可以是分别基于两个色彩亮度反射表确定出两个反射颜色。也即基于第一色彩亮度反射表,确定当前像素点对应的目标风格的第一反射颜色,基于第二色彩亮度反射表,确定当前像素点对应的目标风格的第二反射颜色。从而后续可根据第一反射颜色和第二反射颜色,确定最终的转换后的新颜色。
在一些实施例中,不同亮度对应的色彩亮度反射表可以集中存储,也即色彩亮度反射表可以是一个三维图表。电子设备可以先根据当前像素点在目标图像中的位置,确定其在色彩亮度反射表中的映射位置,该映射位置处存在多个反射颜色,多个反射颜色与多个亮度级一一对应。电子设备可根据当前像素点的当前亮度值,确定其对应的亮度级,从而可以确定出对应的反射颜色。
步骤S2222:根据所述反射颜色,确定色彩转换后的所述当前像素点对应的新颜色。
在一些实施例中,当确定当前像素点对应的色彩亮度反射表只有一个时,根据该色彩亮度反射表确定出的反射颜色,即可作为色彩转换后的所述当前像素点对应的新颜色。
在另一些实施例中,当确定当前像素点对应的色彩亮度反射表为上述第一色彩亮度反射表和第二色彩亮度反射表时,则可根据这两个反射表确定出的第一反射颜色和第二反射颜色,确定色彩转换后的所述当前像素点对应的新颜色。
作为一种方式,可以根据当前亮度值与亮度级之间的距离权重,来确定色彩转换后的所述当前像素点对应的新颜色。可以理解的是,当前亮度值距离亮度级越近,对应的距离权重就越高,从而根据该亮度级确定的反射颜色的比重就越高。
具体地,电子设备可以获取当前亮度值与第一亮度级之间的第一距离权重,获取当前亮度值与第二亮度级之间的第二距离权重,然后可基于第一反射颜色、第一距离权重、第二反射颜色以及第二距离权重,确定色彩转换后的当前像素点对应的新颜色。作为一种方式,新颜色可以是根据第一反射颜色和第一距离权重的乘积,与第二反射颜色和第二距离权重的乘积之和。
例如,以上述九个亮度级为例,若当前的亮度值为42,则其处于31~63的亮度区间内,其对应的第一距离权重可以是:(63-31)/32或者1-(42-31)/32,第二距离权重可以是:(42-31)/32。又例如,若使用GPU加速计算,当前的亮度值归一化后的数值为0.3453时,其乘上8后的值为2.7624,其数值范围在2~3区间,因此其对应的第一距离权重可以是:1.0-(2.7624-2.0)=0.2376,第二亮度级可以是:2.7624-2.0=0.7624。新颜色可以是:0.7624*L2的反射颜色亮度值+0.2376*L3的反射颜色亮度值。
步骤S230:基于所述至少部分像素点对应的转换后的新颜色,生成与所述目标图像对应的所述目标风格的色彩图像。
在本申请实施例中,步骤S230可以参阅前述实施例的内容,此处不再赘述。
本申请实施例提供的图像处理方法,通过获取待处理的目标图像,然后基于该目标图像中当前像素点的颜色对应的亮度值,确定对应的色彩亮度反射表,以根据该色彩亮度反射表,确定当前像素点对应的目标风格的反射颜色,其中,反射颜色与目标图像中的像素点位置对应。最后基于至少部分像素点对应的转换后的新颜色,生成与目标图像对应的所述目标风格的色彩图像。本申请仅需预先创建好色彩在不同风格、不同亮度值下的色彩亮度反射表,在需要进行图像的相应风格的色彩转换时,直接根据该色彩亮度反射表对图像中的原始颜色进行色彩转换即可,降低了运算复杂度,提高了图像的色彩转换速度。且通过对亮度值进行分级分区制作色彩亮度反射表,不仅降低了设计人员的工作量,也提高了方法的兼容性和适配性。
请参阅图11,图11示出了本申请另一实施例提供的一种图像处理方法的流程示意图,可应用于电子设备,该图像处理方法可以包括:
步骤S320:获取待处理的目标图像。
在本申请实施例中,步骤S320可以参阅前述实施例的内容,此处不再赘述。
步骤S340:对所述目标图像进行灰度化处理,得到对应的灰度图像。
由于有的艺术风格的效果需要灰度化处理,因此,在一些实施例中,在进行色彩转换之前,电子设备可以先对目标图像进行灰度化处理,得到对应的灰度图像,以根据灰度图像进行色彩转换。
作为一种方式,可以通过下述公式对对目标图像进行灰度化处理:
I(i,j)gray=0.299*I(i,j)r+0.587*I(i,j)g+0.114*I(i,j)b
其中,I(i,j)gray表示灰度化的结果,I(i,j)r,I(i,j)g,I(i,j)b表示目标图像的R,G,B三通道的颜色分量。
例如,以图像(i,j)位置的RGB值为(76,87,125)为例,归一化后的数值为(0.298,0.341,0.49),那么通过上述公式灰度化计算的灰度亮度值为0.3453。对目标图像中的每个像素点位置的RGB值都重复上述步骤,可以得到灰度化处理后的灰度图像。
步骤S360:基于所述灰度图像中至少部分像素点的灰度颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的灰度颜色进行目标风格的色彩转换。
电子设备在得到灰度图像后,可以对灰度图像中的至少部分像素点的灰度颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的灰度颜色进行目标风格的色彩转换。具体描述可参阅前述实施例的内容,此处不再赘述。
示例性的,以上述图像(i,j)位置的灰度亮度值为0.3453为例,由于0.3453*8=2.7624,可见这个值处在L2和L3亮度级平面之间,然后可确定该灰度亮度值到两个平面的距离权重,与L2的距离权重为(1.0-(2.7624–2.0))=0.2376,与L3的距离权重为0.7624,然后根据这两个距离权重和对应的反射颜色,确定转换后的新颜色。
在一些实施例中,由于仅存在部分艺术风格的效果,才需要对原图进行灰度化处理,并不是所有的艺术风格都适合进行灰度处理。因此,在一些实施例中,请参阅图12,在步骤S340之前,本申请的图像处理方法还可以包括:
步骤S330:判断待色彩转换的目标风格是否为预设风格。
若为所述预设风格,则执行上述对所述目标图像进行灰度化处理的步骤,也即执行步骤S340。
电子设备在获取到待处理的目标图像后,可以先判断要转换的目标风格是否是预设风格,若是,说明需要进行灰度化处理,则执行上述步骤S340。若不是,说明不需要进行灰度化处理,则不必执行上述步骤S340。其中,预设风格可以是需要进行灰度处理才能达到艺术效果的艺术风格,例如铅笔画,素描画、水墨画等艺术风格,此处不作限定。预设风格可以预存于电子设备,可以根据具体的艺术效果进行合理设置。
进一步的,在一些实施例中,请再次参阅图12,若不为所述预设风格,电子设备可执行步骤S350。其中:
步骤S350:基于所述目标图像中至少部分像素点的RGB颜色空间的三通道颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的RGB各通道的颜色进行目标风格的色彩转换。
由于目标图像不需要进行灰度化处理,因此,目标图像中的每个像素点都具有R,G,B三通道的颜色分量。电子设备可对各个通道的颜色分量进行色彩转换。
具体地,电子设备可以根据当前像素点的R通道的颜色分量对应的亮度值,和预设的色彩亮度反射表,对当前像素点的R通道的颜色分量进行目标风格的色彩转换,得到当前像素点的R通道转换后的新颜色分量。同理,电子设备可根据当前像素点的G通道的颜色分量对应的亮度值,和预设的色彩亮度反射表,对当前像素点的G通道的颜色分量进行目标风格的色彩转换,得到当前像素点的G通道转换后的新颜色分量。同理,电子设备可根据当前像素点的B通道的颜色分量对应的亮度值,和预设的色彩亮度反射表,对当前像素点的B通道的颜色分量进行目标风格的色彩转换,得到当前像素点的B通道转换后的新颜色分量。从而,可得到当前像素点转换后的新的RGB颜色值。
步骤S380:基于所述至少部分像素点对应的转换后的新颜色,生成与所述目标图像对应的所述目标风格的色彩图像。
在本申请实施例中,步骤S380可以参阅前述实施例的内容,此处不再赘述。
示例性,当色彩转换需要进行灰度化处理时,请参阅图13,图13示出了一种图像处理方法的整体流程示意图。电子设备在获取到用户输入的图片或视频帧图像时,可以对该图片或视频帧图像进行灰度化处理,得到该图片或视频帧图像中各个像素位置的灰度值。电子设备可通过计算灰度值所在的亮度区间,并根据该亮度区间确定对应的高亮度级平面和低亮度级平面。电子设备可分别计算当前灰度值到高亮度级平面和低亮度级平面的距离权重,然后分别获取当前像素位置在高亮度级平面和低亮度级平面对应的色彩亮度反射表中的色彩映射值,以根据该色彩映射值和距离权重,计算当前像素位置所对应的新的颜色值。电子设备对输入的图片或视频帧图像中的多个像素位置重复上述步骤,可以输出最终的艺术画效果图片和视频。
可以理解的是,在一些实施例中,在终端设备与服务器建立通信连接的状态下,终端设备也可以将待处理的目标图像和目标视频发送至服务器,由服务器对待处理的目标图像和目标视频进行前述实施例的图像处理过程,然后由服务器生成与目标图像对应的目标风格的色彩图像或色彩视频。再将该色彩图像或色彩视频输出至终端设备,由终端设备获取并进行显示或播放。
可以理解的是,前述实施例中的各个步骤,可以均由终端设备在本地进行,也可以均在服务器中进行,还可以由终端设备与服务器分工进行,根据实际应用场景的不同,可以按照需求进行任务的分配,以实现最优化的风格色彩转换体验,在此并不作限定。
本申请实施例提供的图像处理方法,在获取到待处理的目标图像后,可以对该目标图像进行灰度化处理,得到对应的灰度图像。然后基于灰度图像中至少部分像素点的灰度颜色对应的亮度值,和预设的色彩亮度反射表,对至少部分像素点的灰度颜色进行目标风格的色彩转换,以便可基于至少部分像素点对应的转换后的新颜色,生成与目标图像对应的目标风格的色彩图像,从而实现不同于原始图像的色彩效果。另外,本申请还可通过判断色彩转换的目标风格是否为预设风格,来确定是否灰度化处理,当不需要灰度化处理时,可对像素点的RGB值中各通道的颜色分量进行色彩转换。可为用户提供不同的风格转换玩法,带动产品DAU(Daily Active User)日活跃用户数量和视频分发率的提高。
请参阅图14,图14示出了本申请实施例提供的一种图像处理装置600的结构框图,该图像处理装置600应用于观众客户端。该图像处理装置600可以包括:图像获取模块610、色彩转换模块620以及图像生成模块630。其中,图像获取模块610用于获取待处理的目标图像;色彩转换模块620用于基于所述目标图像中至少部分像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的颜色进行目标风格的色彩转换,所述色彩亮度反射表包括根据所述目标风格的图像中色彩在不同亮度值下的反射效果,所建立的色彩转换关系;图像生成模块630用于基于所述至少部分像素点对应的转换后的新颜色,生成与所述目标图像对应的所述目标风格的色彩图像。
在一些实施例中,上述色彩转换模块620可以包括:反射表确定单元和颜色映射单元。其中,反射表确定单元用于基于所述目标图像中的至少部分像素点的颜色对应的亮度值,确定对应的色彩亮度反射表;颜色转换单元用于基于所述色彩亮度反射表,对所述至少部分像素点的颜色进行目标风格的色彩转换。
在一些实施例中,上述反射表确定单元可以包括:亮度值获取子单元和反射表获取子单元。亮度值获取子单元用于获取所述目标图像中当前像素点的颜色对应的当前亮度值,所述当前像素点为所述至少部分像素点中的任一像素点;反射表获取子单元用于基于所述当前亮度值,确定对应的色彩亮度反射表。
在该实施例下,上述颜色转换单元可以包括:映射子单元和颜色确定子单元。其中,映射子单元用于基于所述色彩亮度反射表,确定所述当前像素点对应的目标风格的反射颜色,其中,所述色彩亮度反射表中包括所述目标风格的多个反射颜色,所述多个反射颜色与所述目标图像中的像素点位置对应;颜色确定子单元用于根据所述反射颜色,确定色彩转换后的所述当前像素点对应的新颜色。
在一些实施例中,上述色彩亮度反射表为多个,多个色彩亮度反射表与多个亮度级一一对应,相邻两个亮度级之间存在多个亮度值。上述反射表获取子单元可以具体用于:从所述多个亮度级中,确定所述当前亮度值对应的第一亮度级和第二亮度级,其中,所述第一亮度级与所述第二亮度级相邻,且所述当前亮度值处于所述第一亮度级与所述第二亮度级之间;确定所述第一亮度级对应的第一色彩亮度反射表;确定所述第二亮度级对应的第二色彩亮度反射表。
在该实施例下,上述映射子单元可以具体用于:基于所述第一色彩亮度反射表以及所述第二色彩亮度反射表,确定所述当前像素点对应目标风格的反射颜色。
进一步地,在一些实施例中,上述映射子单元也可以具体用于:基于所述第一色彩亮度反射表,确定所述当前像素点对应的目标风格的第一反射颜色;基于所述第二色彩亮度反射表,确定所述当前像素点对应的所述目标风格的第二反射颜色。
在该实施例下,上述颜色确定子单元可以具体用于:基于所述第一反射颜色以及所述第二反射颜色,确定色彩转换后的所述当前像素点对应的新颜色。
进一步地,在一些实施例中,图像处理装置600还可以包括:第一权重获取模块和第二权重获取模块。其中,第一权重获取模块用于获取所述当前亮度值与所述第一亮度级之间的第一距离权重;第二权重获取模块用于获取所述当前亮度值与所述第二亮度级之间的第二距离权重。
在该实施例下,上述颜色确定子单元也可以具体用于:基于所述第一反射颜色、所述第一距离权重、所述第二反射颜色以及所述第二距离权重,确定色彩转换后的所述当前像素点对应的新颜色。
在一些实施例中,图像处理装置600还可以包括:灰度化模块,用于对所述目标图像进行灰度化处理,得到对应的灰度图像。
在该实施例下,上述色彩转换模块620可以具体用于:基于所述灰度图像中至少部分像素点的灰度颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的灰度颜色进行目标风格的色彩转换。
在一些实施例中,图像处理装置600还可以包括:风格判断模块和第一执行模块。其中,风格判断模块用于判断待色彩转换的目标风格是否为预设风格;第一执行模块用于若为所述预设风格,则执行所述对所述目标图像进行灰度化处理的步骤。
在一些实施例中,图像处理装置600还可以包括:第二执行模块,用于若不为所述预设风格,则基于所述目标图像中至少部分像素点的RGB颜色空间的三通道颜色对应的亮度值,和预设的色彩亮度反射表,对所述至少部分像素点的RGB各通道的颜色进行目标风格的色彩转换。
在一些实施例中,图像处理装置600还可以包括:区域获取模块,获取所述目标图像中待处理的指定区域。
在该实施例下,上述色彩转换模块620可以具体用于:基于所述指定区域中各个像素点的颜色对应的亮度值,和预设的色彩亮度反射表,对所述各个像素点的颜色进行目标风格的色彩转换。
本申请实施例提供的图像处理装置用于实现前述方法实施例中相应的图像处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图15,图15其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备800可以是上述终端设备,该电子设备上有图像处理类的客户端。其中,终端设备可以智能手机、平板电脑、笔记本电脑、台式电脑、可穿戴终端设备等能够运行应用程序的用户设备。本申请中的电子设备800可以包括一个或多个如下部件:处理器810、存储器820以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器820中并被配置为由一个或多个处理器810执行,一个或多个应用程序配置用于执行上述应用于客户端的方法实施例中所描述的方法,也可以配置用于执行上述应用于服务器的方法实施例中所描述的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个电子设备800内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备800的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备800在使用中所创建的数据等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
综上,本申请实施例提供的电子设备用于实现前述方法实施例中相应的图像处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
请参阅图16,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质900中存储有程序代码,程序代码可被处理器调用执行上述应用于客户端的方法实施例中所描述的方法,也可以被处理器调用执行上述应用于服务器的方法实施例中所描述的方法。
计算机可读取存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质900包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。