图像合成方法、装置和计算机可读存储介质
技术领域
本公开涉及图像处理领域,尤其涉及一种图像合成方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,智能终端的应用范围得到了广泛的提高,例如可以通过智能终端听音乐、玩游戏、上网聊天和拍照等。对于智能终端的拍照技术来说,其拍照像素已经达到千万像素以上,具有较高的清晰度和媲美专业相机的拍照效果。
目前在采用智能终端进行拍照时,不仅可以使用出厂时内置的拍照软件实现传统功能的拍照效果,还可以通过从网络端下载应用程序(Application,简称为:APP)来实现具有附加功能的拍照效果,例如可以实现暗光检测、美颜相机和超级像素等功能的APP。通过组合各种基本的图像合成可以形成各种特效效果,比如美颜、滤镜、大眼瘦脸等等。
目前,多数特效是事先设置好的效果,无论是通过后期制作还是实时对图像进行特效图像处理,其处理结果是可以预期的,缺乏变化,即使有变化,一般也是遵循一定的规律发生变化,其效果的变化规律也是固定的。
发明内容
第一方面,本公开实施例提供一种图像合成方法,包括:获取第一图像;使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;将所述第一噪声图像与所述第一图像混合以生成合成图像。
进一步的,所述使用噪声发生器生成第一噪声图像,包括:获取第一噪声图像的生成区域的坐标范围;所述噪声发生器根据所述生成区域的坐标范围生成所述第一噪声图像。
进一步的,所述获取第一噪声图像的生成区域的坐标范围,包括:获取第一噪声图像的生成区域的横坐标和纵坐标;获取横坐标比例参数和纵坐标比例参数;根据所述横坐标以及横坐标比例参数计算得到横坐标的范围;根据所述纵坐标以及纵坐标比例参数计算得到纵坐标的范围。
进一步的,所述的图像合成方法还包括:获取横坐标偏移参数和纵坐标偏移参数;所述根据所述横坐标以及横坐标比例参数计算得到横坐标的范围,包括:根据所述横坐标、横坐标比例参数以及横坐标偏移参数计算得到横坐标的范围;所述根据所述纵坐标以及纵坐标比例参数计算得到纵坐标的范围,包括:根据所述纵坐标、纵坐标比例参数以及纵坐标偏移参数计算得到横坐标的范围。
进一步的,所述获取第一噪声图像的生成区域的坐标范围,包括:获取第一噪声图像的生成区域的横坐标和纵坐标;获取所述第一噪声图像的以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数;根据所述以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数计算得到横坐标范围和/或纵坐标的范围。
进一步的,所述噪声发生器根据所述生成区域的坐标范围生成所述第一噪声图像,包括:将所述生成区域的坐标输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述噪声发生器根据所述生成区域的坐标范围生成所述第一噪声图像,包括:将所述生成区域的坐标以及当前的时间值输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述的图像合成方法还包括:获取密度参数;使用所述像素的颜色值减去所述密度参数,得到第三颜色值;将所述第三颜色值赋值给所述像素。
进一步的,所述将所述第一噪声图像与所述第一图像混合,生成合成图像,包括:获取第一噪声图像上的第一坐标上的第一像素点的第一颜色值;获取第一图像上的第一坐标上的第二像素点的第二颜色值;将第一颜色值和第二颜色值按照第一比例混合,生成所述合成图像。
第二方面,本公开实施例提供一种图像合成装置,包括:
第一图像获取模块,用于获取第一图像;
第一噪声图像生成模块,用于使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;
图像合成模块,用于将所述第一噪声图像与所述第一图像混合,生成合成图像。
进一步的,图像合成模块,还包括:第一颜色值获取模块,用于获取第一噪声图像上的第一坐标上的第一像素点的第一颜色值;第二颜色值获取模块,用于获取第一图像上的第一坐标上的第二像素点的第二颜色值;混合模块,用于将第一颜色值和第二颜色值按照第一比例混合,生成所述合成图像。
进一步的,所述第一噪声图像生成模块,还包括:坐标范围获取模块,用于获取第一噪声图像的生成区域的坐标范围;第一噪声图像生成子模块,用于所述噪声发生器根据所述生成区域的坐标范围生成所述第一噪声图像。
进一步的,所述坐标范围获取模块,还包括:第一坐标获取模块,用于获取第一噪声图像的生成区域的横坐标和纵坐标;比例参数获取模块,用于获取横坐标比例参数和纵坐标比例参数;第一横坐标的范围计算模块,用于根据所述横坐标以及横坐标比例参数计算得到横坐标的范围;第一纵坐标的范围计算模块,用于根据所述纵坐标以及纵坐标比例参数计算得到纵坐标的范围。
进一步的,所述坐标范围获取模块,还包括:偏移参数获取模块,用于获取横坐标偏移参数和纵坐标偏移参数。
进一步的,所述第一横坐标的范围计算模块,还用于:根据所述横坐标、横坐标比例参数以及横坐标偏移参数计算得到横坐标的范围;
进一步的,所述第一纵坐标的范围计算模块,还用于:根据所述纵坐标、纵坐标比例参数以及纵坐标偏移参数计算得到横坐标的范围。
进一步的,所述坐标范围获取模块,还包括:第二坐标获取模块,用于获取第一噪声图像的生成区域的横坐标和纵坐标;幂函数获取模块,用于获取所述第一噪声图像的以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数;第一坐标范围计算模块,用于根据所述以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数计算得到横坐标范围和/或纵坐标的范围。
进一步的,所述第一噪声图像生成子模块,还包括:第一颜色值计算模块,用于将所述生成区域的坐标输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述第一噪声图像生成子模块,还包括:第二颜色值计算模块,用于将所述生成区域的坐标以及当前的时间值输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述第一噪声图像生成子模块,还包括:密度参数获取模块,用于获取密度参数;第三颜色值计算模块,用于使用所述像素的颜色值减去所述密度参数,得到第三颜色值;颜色赋值模块,用于将所述第三颜色值赋值给所述像素。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面中的任一所述图像合成方法。
第四方面,本公开实施例提供一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行前述第一方面中的任一所述图像合成方法。
本公开公开了一种图像合成方法、装置、电子设备和计算机可读存储介质。其中该图像合成方法包括:获取第一图像;使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;将所述第一噪声图像与所述第一图像混合以生成合成图像。本公开实施例通过噪声发生器生成随机的噪声图像,并将噪声图像与原始图像混合生成带有随机效果的图像特效,解决了现有技术中图像特效固定,无法随机变化的技术问题。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的图像合成方法实施例一的流程图;
图2为本公开实施例提供的图像合成方法实施例二的流程图;
图3为本公开实施例提供的图像合成方法实施例二的步骤S201的一种实施方式的流程图;
图4为本公开实施例提供的图像合成方法实施例二的步骤S201的另一种实施方式的流程图;
图5为本公开实施例提供的图像合成装置的实施例一的结构示意图;
图6为本公开实施例提供的图像合成装置的实施例二的结构示意图;
图7为根据本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
图1为本公开实施例提供的图像合成方法实施例一的流程图,本实施例提供的该图像合成方法可以由一图像合成装置来执行,该图像合成装置可以实现为软件,或者实现为软件和硬件的组合,该图像合成装置可以集成设置在图像合成系统中的某设备中,比如图像合成服务器或者图像合成终端设备中。如图1所示,该方法包括如下步骤:
步骤S101,获取第一图像;
在一个实施例中,所述获取第一图像可以是任意图像。
在该施例中,所述第一图像可以通过图像传感器获取,所述图像传感器指可以采集图像的各种设备,典型的图像传感器为摄像机、摄像头、相机等。在该实施例中,所述图像传感器可以是终端设备上的摄像头,比如智能手机上的前置或者后置摄像头,摄像头采集的图像可以直接显示在手机的显示屏上,在该步骤中,获取图像传感器所拍摄的图像视频,用于在下一步进一步对图像进行处理。在该实施例中,所述获取第一图像,可以是获取当前终端设备所采集到的视频的当前视频帧,由于视频是由多个视频帧组成的,该实施例中对于图像的处理可以是对视频的视频帧进行处理。在该实施例中,所述待处理图像也可以是从本地或者网络中获取的任何图像。
步骤S102:使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;
在该步骤中,使用噪声发生器生成第一噪声图像,所述噪声图像位于第一图像中。其中所述第一噪声图像的生成区域可以是第一图像的图像区域的子集或者与第一图像的图像区域完全重叠,也就是说第一噪声图像的像素点的坐标完全位于第一图像的像素点的坐标范围内。其中所述的第一噪声图像可以为灰度纹理图也可以是彩色纹理图。由于噪声是随机的,因此所述第一噪声图为一张像素值为随机值的纹理图,并位于所述第一图像中。
在一个实施例中,所述噪声发生器可以有多个,并且设置所述第一噪声图像的生成区域位于所述第一图像的图像区域中,且互相不重叠,这样可以在第一图像的图像区域中形成多个不同的第一噪声图像;可以理解,所述第一噪声图像也可以重叠以形成更加随机多变的图像,在此不再赘述。
步骤S103:将所述第一噪声图像与所述第一图像混合以生成合成图像。
在该步骤中,所述将所述第一噪声图像与所述地体图像混合以生成合成图像可以包括:获取第一噪声图像上的第一坐标上的第一像素点的第一颜色值;获取第一图像上的第一坐标上的第二像素点的第二颜色值;将第一颜色值和第二颜色值按照第一比例混合,生成所述合成图像。一般来说混合是指将源颜色和目标颜色做计算,得出混合后的颜色,在实际应用中常常将源颜色乘以源因子得到的结果与目标颜色乘以目标因子得到的结果做计算,得到混合后的颜色,可选的,所述计算为加,BLENDcolor=SRC_color*SCR_factor+DST_color*DST_factor,其中0≤SCR_factor≤1,0≤DST_factor≤1,且SCR_factor+DST_factor=1,其中BLENDcolor为混合后的颜色,SRC_color源颜色可以为第一图像中的颜色值,DST_color目标颜色可以为噪声图像中的颜色值。根据上述运算公式,假设源颜色的四个分量(指红色,绿色,蓝色,alpha值)是(Rs,Gs,Bs,As),目标颜色的四个分量是(Rd,Gd,Bd,Ad),又设源因子为(Sr,Sg,Sb,Sa),目标因子为(Dr,Dg,Db,Da)。则混合产生的新颜色可以表示为:(Rs*Sr+Rd*Dr,Gs*Sg+Gd*Dg,Bs*Sb+Bd*Db,As*Sa+Ad*Da),其中alpha值表示透明度,0≤alpha≤1。上述混合方式仅仅是举例,实际应用中,可以自行定义或者选择混合方式,所述计算可以是加、减、乘、除、取两者中较大的、取两者中较小的、逻辑运算(和、或、异或等等)。上述混合方式仅仅是举例,实际应用中,可以自行定义或者选择混合方式,所述计算可以是加、减、乘、除、取两者中较大的、取两者中较小的、逻辑运算(和、或、异或等等)。经过上述颜色混合,生成合成图像,所述的合成图像由于叠加了噪声图像的颜色,因为图像效果具有一定的随机性,可以生成随机的图像特效。
本公开公开了一种图像合成方法、装置、电子设备和计算机可读存储介质。其中该图像合成方法包括:获取第一图像;使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;将所述第一噪声图像与所述第一图像混合以生成合成图像。本公开实施例通过噪声发生器生成随机的噪声图像,并将噪声图像与原始图像混合生成带有随机效果的图像特效,解决了现有技术中图像特效固定,无法随机变化的技术问题。
图1为本公开实施例提供的图像合成方法实施例二的流程图,该实施例二中,所述步骤S102使用噪声发生器生成第一噪声图像,具体包括:
步骤S201:获取第一噪声图像的生成区域的坐标范围;
在一个实施例中,所述生成区域的坐标为UV坐标,所述生成区域的坐标范围为[0,1],直接使用该坐标范围生成第一噪声图像,则第一噪声图像的生成区域与第一图像的图像区域大小一致,完全覆盖于第一图像上。
如图3所述,在另一实施例中,为了使第一噪声图像的大小和比例可控,可以使用一些参数来控制所述生成区域的坐标范围,在该实施例中,所述获取第一噪声图像的生成区域的坐标范围,包括:
S301:获取第一噪声图像的生成区域的横坐标和纵坐标;
S302:获取横坐标比例参数和纵坐标比例参数;
S303:根据所述横坐标以及横坐标比例参数计算得到横坐标的范围;
S304:根据所述纵坐标以及纵坐标比例参数计算得到纵坐标的范围。
在该实施例中,在横坐标和纵坐标的基础上加入了比例参数,所述比例参数决定了第一噪声图像的长宽比例和生成区域的大小。可选的,所述横坐标比例参数W=0.4,所述纵坐标比例参数H=0.8,则所述横坐标的范围为[0,0.4],所述纵坐标的范围为[0,0.8],该范围决定了第一噪声图像的范围为一个宽0.4,长0.8的矩形,其长宽比为2:1。
此外,为了使第一噪声图像的显示位置可以控制,还可以加入另外的参数来控制噪声图像的显示位置,此时,所述获取第一噪声图像的生成区域的坐标范围的步骤中,还包括:
S305:获取横坐标偏移参数和纵坐标偏移参数;
所述步骤S303,包括:根据所述横坐标、横坐标比例参数以及横坐标偏移参数计算得到横坐标的范围;
所述步骤304,包括:根据所述纵坐标、纵坐标比例参数以及纵坐标偏移参数计算得到横坐标的范围。
在该实施例中,所述横坐标偏移参数和纵坐标偏移参数用于控制所述第一噪声图像的生成区域在UV坐标系中的偏移,进而控制所述第一噪声图像在第一图像的范围内的偏移量,以控制第一噪声图像的显示位置。可选的,所述横坐标偏移参数x=0.3,纵坐标偏移参数y=0.1,如果第一噪声图像的图像范围为一个宽0.4,长0.8的矩形,则该范围的中心点坐标为(0.2,0.4),将该中心点在横坐标轴上平移0.3,在纵坐标上平移0.1,则该第一噪声图像的图像范围位于第一图像的中心位置。由此通过横坐标比例参数和纵坐标比例参数可以控制第一噪声图像的显示大小和比例,通过横坐标偏移参数和纵坐标偏移参数可以控制第一噪声图像的显示位置。
上述实施例可以实现对第一噪声图像的生成区域的精确控制,在另一个实施例中,可以只实现对第一噪声的生成区域的粗略控制,如只控制第一噪声图像的生成区域偏上或者偏下,偏左或者偏右,此时如果使用上述精确控制的参数,会比较繁琐,如图4所示,在该实施例中,所述获取第一噪声图像的生成区域的坐标范围,包括:
S401:获取第一噪声图像的生成区域的横坐标和纵坐标;
S402:获取所述第一噪声图像的以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数;
S403:根据所述以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数计算得到横坐标范围和/或纵坐标的范围。
典型的,对于纵坐标,以幂函数V′=V2为例,当V的取值范围为[0,0.9]时,V′的取值范围为[0,0.81],由此得到了第一噪声图像的下沉效果;典型的,以幂函数为例,当V的取值范围为[0,0.49]时,V′的取值范围为[0,0.7],由此得到了第一噪声图像的上浮效果。对于横坐标同样可以通过上述幂函数达到偏左和偏右的效果。当然,也可以同时对横坐标和纵坐标去幂函数的值,以达到同时在两个方向上调节的效果。可以理解的是,本公开中所使用的幂函数仅仅为举例,实际上在坐标取值允许的情况下,可以使用任何幂函数以实现不同的效果,在此不再赘述。
步骤S202:所述噪声发生器根据所述生成区域的坐标范围生成所述噪声图像。
在步骤S201中获取到生成区域的坐标范围之后,可以将该生成范围作为参数,通过噪声发生器生成噪声图像。在该实施例中,所述噪声发生器可以是伪随机函数,将所述坐标范围内的坐标作为噪声发生器的输入,得到该坐标上的像素的颜色值。典型的,所述伪随机函数可以为下述公式1:
S=fract(sin(dot(uv,const1))*const2)公式1
其中,函数fract(a)表示保留a的小数部分;dot(b,c)中b和c均为向量,表示向量b和c的点积;const1和const2为常数,由此得到的小数部分St,作为坐标uv点对应的噪声图像的像素点的颜色值。典型的,所述生成区域的坐标范围为[0,0.8],取其中一个坐标(0.2,0.3),设const1=(1,2),const2=100,带入公式1中,得到:
S=fract(sin(dot((0.2,0.3),(1,2))*100)
其中dot((0.2,0.3),(1,2))=0.2*1+0.3*2=0.8;则sin(0.8)*100=1.3962;则fract(1.3962)=0.3962;由此可以得到,坐标为(0.2,0.3)的第一噪声图像中的像素点的颜色值为0.3962,在该实施例中,所述第一噪声图像可以为灰度图,也就是RGB三通道中的颜色值一样,均为0.3962。由此,对生成区域的坐标范围内的每个坐标点均做上述运算,可以得到第一噪声图像中的每个像素点的颜色值,以得到完整的第一噪声图像。可以理解是的,上述实施例使用了一个伪随机函数,生成一个颜色值,实际上可以通过三个不同的伪随机函数生成RGB三通道的颜色值,此时由于三通道的颜色值不同,最终生成的是彩色的噪声图像,所述的不同的伪随机函数可以是完全不同的伪随机函数,可以是使用了不同参数的同一伪随机函数,如可以调节公式1中的const1或const2的值来得到不用的颜色值。
在上述实施例中,虽然颜色值为随机的,但是一旦参数确定,实际上颜色值也就确定了,也就是上述实施例中的随机颜色并不会发生变化。在另一个实施例中,实现随机颜色随机变化,使颜色的变化更加多样化。在该实施例中,可以将颜色值乘以一个随时间变化的函数值,可选的,可以直接将时间值本身作为一个参数与颜色值相乘,由此,所述伪随机函数可以为下述公式2:
St=fract(sin(dot(uv,const1))*const2)*t公式2
其中t为当前的时间值,还以上述实施例中的数据为例,设t=1,则:
St=fract(sin(dot((0.2,0.3),(1,2))*100)*1=0.3962
设t=2,则:
St=fract(sin(dot((0.2,0.3),(1,2))*100)*2=0.7924
由此,噪声图的点(0.2,0.3)的颜色值,随着时间的变化而变化,每个时间点所形成的噪声图均不相同,噪声图的变化更加多样。可以理解的是,也可以通过设置上述const1或const2为一个函数,并与时间关联,同样可以实现上述效果,在此不再赘述。
在上述生成第一噪声图像的基础上,还可以进一步控制第一噪声图的颜色显示比例,以灰度图为例,在上述公式1或者公式2的基础上,得到颜色值St,此时为了控制噪声图的颜色显示比例,可以通过约束条件:St>n,来控制那些颜色值被显示出来,其中0≤n≤1,其中,当n=0时,所有的颜色值均被显示出来,当n=1时,所有的颜色均不显示(相当于屏蔽了噪声图),当n的取值在0-1之间时,只显示一部分噪声图的颜色,由此可以控制噪声图的颜色显示比例。
在上述生成第一噪声图像的基础上,还可以进一步控制第一噪声图的颜色显示密度,以灰度图为例,在上述公式1或者公式2的基础上,得到颜色值St,此时为了控制噪声图的颜色显示比例,可以通过约束条件:St1=St-p,其中p为密度参数,其中0≤p≤1,由此,当St1≤0时,该点的颜色不显示,进而可以控制噪声的显示密度。
在另一个噪声的显示密度的控制的实施例中,在上述生成第一噪声图像的基础上,在步骤S103中,还可以进一步控制第一噪声图的颜色显示密度,以灰度图为例,在上述公式1或者公式2的基础上,得到颜色值St,设第一图像的颜色值为color,由于color和St的取值范围均为[0,1],因此可能会出现某些点过亮的情况,因此可以通过以下约束条件:color1=color-St*m,来控制混合之后的图的颜色,其中0<n<1,如St的取值范围为[0,1],m=0.2,则St*m的取值范围为[0,0.2],如此可以得到color1的取值范围为[0,0.8],这样会在一定程度上解决某些点的过亮问题,并且可以使某些点的颜色值位于0以下进而不显示这些点的颜色,以达到控制噪声点密度的效果。
图5为本公开实施例提供的图像合成装置实施例一的结构示意图,如图5所示,该装置500包括:第一图像获取模块501、第一噪声图像生成模块502和图像合成模块503。其中,
第一图像获取模块501,用于获取第一图像;
第一噪声图像生成模块502,用于使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;
图像合成模块503,用于将所述第一噪声图像与所述第一图像混合,生成合成图像。
进一步的,图像合成模块503,还包括:
第一颜色值获取模块,用于获取第一噪声图像上的第一坐标上的第一像素点的第一颜色值;
第二颜色值获取模块,用于获取第一图像上的第一坐标上的第二像素点的第二颜色值;
混合模块,用于将第一颜色值和第二颜色值按照第一比例混合,生成所述合成图像。
图5所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图6为本公开实施例提供的图像合成装置实施例二的结构示意图,如图6所示,装置500中的第一噪声图像生成模块502,还包括:
坐标范围获取模块601,用于获取第一噪声图像的生成区域的坐标范围;
第一噪声图像生成子模块602,用于所述噪声发生器根据所述生成区域的坐标范围生成所述第一噪声图像。
进一步的,所述坐标范围获取模块601,还包括:
第一坐标获取模块,用于获取第一噪声图像的生成区域的横坐标和纵坐标;
比例参数获取模块,用于获取横坐标比例参数和纵坐标比例参数;
第一横坐标的范围计算模块,用于根据所述横坐标以及横坐标比例参数计算得到横坐标的范围;
第一纵坐标的范围计算模块,用于根据所述纵坐标以及纵坐标比例参数计算得到纵坐标的范围。
进一步的,所述坐标范围获取模块601,还包括:
偏移参数获取模块,用于获取横坐标偏移参数和纵坐标偏移参数。
进一步的,所述第一横坐标的范围计算模块,还用于:根据所述横坐标、横坐标比例参数以及横坐标偏移参数计算得到横坐标的范围;
进一步的,所述第一纵坐标的范围计算模块,还用于:根据所述纵坐标、纵坐标比例参数以及纵坐标偏移参数计算得到横坐标的范围。
进一步的,所述坐标范围获取模块601,还包括:
第二坐标获取模块,用于获取第一噪声图像的生成区域的横坐标和纵坐标;
幂函数获取模块,用于获取所述第一噪声图像的以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数;
第一坐标范围计算模块,用于根据所述以横坐标为底数的幂函数和/或以纵坐标为底数的幂函数计算得到横坐标范围和/或纵坐标的范围。
进一步的,所述第一噪声图像生成子模块602,还包括:
第一颜色值计算模块,用于将所述生成区域的坐标输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述第一噪声图像生成子模块602,还包括:
第二颜色值计算模块,用于将所述生成区域的坐标以及当前的时间值输入噪声发声器的伪随机函数中计算该坐标所对应的像素的颜色值。
进一步的,所述第一噪声图像生成子模块602,还包括:
密度参数获取模块,用于获取密度参数;
第三颜色值计算模块,用于使用所述像素的颜色值减去所述密度参数,得到第三颜色值;
颜色赋值模块,用于将所述第三颜色值赋值给所述像素。
图6所示装置可以执行图2、3、4所示实施例的方法,本实施例未详细描述的部分,可参考对图2、3、4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
下面参考图7,其示出了适于用来实现本公开实施例的电子设备700的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取第一图像;使用噪声发生器生成第一噪声图像,其中所述第一噪声图像位于第一图像中;将所述第一噪声图像与所述第一图像混合以生成合成图像。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。