图像颜色迁移方法、装置和电子设备
文献发布时间:2023-06-19 13:49:36
技术领域
本申请属于图像处理技术领域,具体涉及一种图像颜色迁移方法、装置和电子设备。
背景技术
对于对应同一场景的两张图像,存在两张图像的色彩效果不一致的情况。比如同一场景下不同摄像头所拍摄照片的色彩效果可能不一致,从而影响照片的观感。
发明内容
本申请实施例的目的是提供一种图像颜色迁移方法、装置和电子设备,能够解决两张图像的色彩效果不一致的问题。
第一方面,本申请实施例提供了一种图像颜色迁移方法,该方法包括:获取第一图像和第二图像;将所述第一图像和所述第二图像进行对齐处理,得到对应所述第一图像的第三图像和对应所述第二图像的第四图像;根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。
第二方面,本申请实施例提供了一种图像颜色迁移装置,包括:第一获取模块,用于获取第一图像和第二图像;对齐模块,用于将所述第一图像和所述第二图像进行对齐处理,得到对应所述第一图像的第三图像和对应所述第二图像的第四图像;以及,第一处理模块,用于根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,提供了一种图像颜色迁移方法,通过对第一图像和第二图像进行对齐处理,可以得到对应第一图像的第三图像和对应第二图像的第四图像,进而可根据第三图像和第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。本实施例基于对齐的图像可对预设图像的颜色进行迁移,从而可优化图像的色彩效果。
附图说明
图1是本实施例提供的一种图像颜色迁移方法的流程图;
图2~图8是本实施例提供的第一图像或第二图像的示意图;
图9是本实施例提供的拼接图片的示意图;
图10是本实施例提供的一种图像颜色迁移装置的方框原理图;
图11是本实施例提供的一种电子设备的硬件结构示意图;
图12是本实施例提供的另一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像颜色迁移方法进行详细地说明。
请参考图1,本实施例提供的一种图像颜色迁移方法可以包括以下步骤110~步骤130:
步骤110,获取第一图像和第二图像。
本实施例中,两个图像可以为摄像头拍摄的预览图像,如用户打开相机副摄的情况下相机主摄所拍摄的图像,也可以为摄像头拍摄的展示于用户的非预览图像,如照片。
本实施例中,两个图像相关联,这一关联性至少可以体现在两个图像均包括针对同一景象的那部分图像。比如,两个图像可以为图2~图4中所示图像中的两个,也可以为图5~图8中所示图像中的两个。
本实施例中,首先获取两个图像,以便于后续可对两个图像进行对齐。
步骤120,将所述第一图像和所述第二图像进行对齐处理,得到对应所述第一图像的第三图像和对应所述第二图像的第四图像。
本实施例中,可以基于两个图像中针对同一景象的那部分图像,将两个图像进行对齐。
本实施例中,通过将两个图像对齐,可以根据对齐的图像中同一位置的像素值,对预设图像作颜色迁移。该同一位置指同一像素点位置。
本实施例对图像对齐方法不做限制,比如可以是基于特征点对估计单应性变换矩阵,也可以在此基础上运用光流法做到更精确的对齐精度。其中,单应性变换可以指一个平面到另一个平面的映射关系。
步骤130,根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。
本实施例中,预设图像可以为第一图像和第二图像中的一个图像。如此,在本公开一个实施例中,所述预设图像包括所述第一图像或所述第二图像。
在本公开一个实施例中,所述第一图像包括第一摄像头拍摄的图像,所述第二图像包括第二摄像头拍摄的图像;所述第一摄像头和所述第二摄像头的放大倍数不同。
本实施例中,预设图像也可以为其他的图像。
通过对预设图像进行颜色迁移,可得到具有预期图像色彩效果且图像内容保持不变的新图像。
在本公开一个实施例中,所述步骤130,根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移,可以包括以下步骤1301~步骤1304:
步骤1301,获取所述第三图像和所述第四图像中的对应同一位置的像素点的像素值。
详细地,可以通过移动最小二乘法,对预设图像进行颜色迁移。移动最小二乘法是一种数学优化建模方法,可通过最小化误差的平方和寻找数据的最佳函数匹配,以支持图像颜色迁移的实现。
如此,可以上述对应同一位置的像素点的像素值(即一个像素位置对应一个像素点对,或称对应一对像素点),作为移动最小二乘法的样本点。
在本公开一个实施例中,可以对所述第三图像和所述第四图像进行降采样,并以降采样的采样结果来构建样本点集合。
比如可以根据设定的采样个数区间,比如通常在1000~100000对像素点比较合适,对第三图像和第四图像进行数倍的降采样,以采样两个图像中的部分像素点对而非全部像素点对。
本实施例通过降采样处理,不仅可以避免样本点数量太少而影响算法效果,还可避免样本点数量过多而导致算法效率太低。
步骤1302,以所述对应同一位置的像素点的像素值作为一组样本点,构建样本点集合。
该步骤中,基于获得的各组样本点,可构建样本点集合。
步骤1303,对于所述预设图像中的每个第一像素点,根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的第二像素值。
在可行的实现方式中,样本点集合中的样本点可以作为移动最小二乘法的样本点,以便于可基于移动最小二乘法据此估计预设图像中每个像素对应的颜色转换矩阵,进而根据该像素的像素值和该像素对应的颜色转换矩阵,得到该像素的新像素值,以实现该像素的颜色迁移。
步骤1304,根据得到的分别对应每个所述第一像素点的第二像素值,得到第七图像,所述第七图像为对所述预设图像进行颜色迁移得到的图像。
基于预设图像中各个像素点的第二像素值(即新像素值),可得到图像内容不变而色彩效果变化的新图像,作为对预设图像进行颜色迁移得到的图像。
详细地,本实施例中对计算第二像素点的时延要求可以有下述两种:
要求1:高时延;
要求2:低时延。
详细地,对应于上述要求1:
在本公开一个实施例中,步骤1303中,所述根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的第二像素值,可以包括以下步骤1303a1~步骤1303a2:
步骤1303a1,根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的颜色转换矩阵。
本实施例中,在高时延要求下,为保证更优的图像颜色迁移效果,可以计算预设图像中每个像素点对应的颜色转换矩阵。
即预设图像中的像素点和计算出的颜色转换矩阵为一对一的对应关系,且颜色转换矩阵的个数相对较多。
步骤1303a2,根据所述第一像素值和所述颜色转换矩阵,得到对应所述第一像素点的第二像素值。
该步骤中,基于像素点的像素值和该像素点对应的颜色转换矩阵,即可得到该像素点的新像素值。
本实施例通过高时延的计算要求,可以保证良好的图像颜色迁移效果和符合要求的图像颜色迁移性能。
详细地,对应于上述要求2:
在本公开一个实施例中,所述步骤1303,对于所述预设图像中的每个第一像素点,根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的第二像素值,可以包括以下步骤1303b1~步骤1303b3:
步骤1303b1,对于预设立体网格中的每个第一网格点,根据所述样本点集合和所述第一网格点的像素值,得到对应所述第一网格点的颜色转换矩阵,其中,所述预设立体网格通过对RGB空间进行划分得到。
详细地,RGB即是代表红(R)、绿(G)、蓝(B)三个通道的颜色,每种颜色的取值范围为0~256,如此可以在RGB空间(256×256×256)中划分成个立体网格,比如网格尺寸可以为20×20×20。
本实施例中,在低时延要求下,为保证更优的图像颜色迁移性能,可以计算预设立体网格中的每个网格点对应的颜色转换矩阵。其中,基于像素点的像素值和网格点的像素值,预设图像中每个像素点均可映射到相应的一个网格点中,一个网格点可以对应有预设图像中的多个像素点。网格点的个数小于预设图像中像素点的个数。
即预设立体网格中的网格点和计算出的颜色转换矩阵为一对一的对应关系,预设图像中的像素点和计算出的颜色转换矩阵为多对一的对应关系,且颜色转换矩阵的个数相对较少。
步骤1303b2,对于所述预设图像中的每个第一像素点,根据所述预设图像中所述第一像素点的第一像素值,确定对应所述第一像素值的目标网格点。
本实施例中,为计算一像素点的新像素值,由于计算的颜色转换矩阵是对应于网格点的,故而可根据该像素点的像素值,确定该像素点对应的网格点,以该网格点对应的颜色转换矩阵,作为该像素点对应的颜色转换矩阵。
步骤1303b3,根据所述第一像素值和对应所述目标网格点的颜色转换矩阵,得到对应所述第一像素点的第二像素值。
该步骤中,根据像素点的像素值和相应的颜色转换矩阵,得到其新像素值。
本实施例通过低时延的计算要求,可以保证良好的图像颜色迁移性能和符合要求的图像颜色迁移效果。
下面,结合上述要求1和要求2的实现方式,对移动最小二乘法求解颜色转换矩阵的实现方式进行说明。
本实施例中,以第四图像(比如副摄对齐图像)中的部分或全部像素点组成样本点集合u,以第三图像(比如主摄对齐图像)中的部分或全部像素点组成样本点集合v,u
j表示预设图像(比如副摄图像)中的第j个像素点(对应上述要求1所述实现方式)或设定网格中的第j个网格点(对应上述要求2所述实现方式),为了求解其颜色转换矩阵,我们建立移动最小二乘方程:
公式(1)中,m为样本点对的总数,w
详细地,仿射变换可以指在几何中,对一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。
其中,w
公式(2)中,x为j的像素值,σ是权重参数。
其中,权重参数σ的大小取决于j的像素值x与u
其中,仿射变换矩阵T
T
公式(3)中,A
求解上述公式(1)的偏导可以得到A
公式(4)中,
基于上述内容,可以先根据公式(2)计算w
由上可知,本实施例提供了一种图像颜色迁移方法,通过对第一图像和第二图像进行对齐处理,可以得到对应第一图像的第三图像和对应第二图像的第四图像,进而可根据第三图像和第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。本实施例基于对齐的图像可对预设图像的颜色进行迁移,从而可优化图像的色彩效果。
详细地,本实施例提供的图像颜色迁移方法至少可以适用于下述场景1~场景3:
场景1:切换到副摄(即使用副摄进行拍摄);
场景2:全景拼接;
场景3:视频后期修饰。
其中,在场景1和场景2中,预设图像可以为第一图像和第二图像中的一个图像,即对第一图像或第二图像进行颜色迁移。
其中,在场景3中,预设图像可以为其他的图像,即对区别于第一图像和第二图像的其他图像进行颜色迁移。
下面,分别基于上述3个场景,对本实施例提供的图像颜色迁移方法进行说明。
详细地,对应于上述场景1:
本实施例中,电子设备的相机包括至少两个摄像头。
该至少两个摄像头中,放大倍数为1.0×的摄像头通常为主摄像头(简称主摄),其他放大倍数的摄像头,如放大倍数为0.5×的广角摄像头、放大倍数为2.0×的远焦摄像头,均为副摄像头(简称副摄)。在相机被打开时,通常默认使用主摄,用户基于个人需要可按需切换至任一副摄。
详细地,在相机的拍照预览阶段、录像预览阶段、拍照阶段、录像阶段,均可使用主摄或任一副摄进行拍摄操作。
在使用相机的过程中,会涉及到不同放大倍数摄像头的切换,为避免不同摄像头所拍摄图像的色彩效果不一致而影响用户感官体验,可以对部分摄像头所拍摄图像进行颜色迁移,以保证各个摄像头所拍摄图像的色彩效果一致。
如此,在本公开一个实施例中,所述第一图像包括第一摄像头拍摄的图像,所述第二图像包括第二摄像头拍摄的图像;所述第一摄像头和所述第二摄像头的放大倍数不同。
本实施例中,预设图像为第一图像或第二图像。比如优选地,可以根据主摄拍摄图像和副摄拍摄图像,对副摄拍摄图像进行颜色迁移。
在可行的实现方式中,在相机包括两个摄像头即一个主摄和一个副摄的情况下,既可以对主摄拍摄图像进行颜色迁移,也可对副摄拍摄图像进行颜色迁移。考虑到主摄使用频率通常远高于副摄,为降低数据处理量,优选为对副摄拍摄图像进行颜色迁移。
以及在相机包括多个摄像头即一个主摄和至少两个副摄的情况下,可基于主摄图像的色彩效果,对任一副摄拍摄图像进行颜色迁移,以使得将任一副摄拍摄图像展示给用户时,用户可感受到与主摄拍摄图像一致的色彩效果,即使得用户在使用相机的过程中始终可以感受到均匀一致的图像色彩效果,从而可提升用户体验。
基于上述内容,在本公开一个实施例中,所述预设图像包括所述第二图像。
本实施例中,优选地,第一摄像头为主摄,第二摄像头为副摄,第二图像为副摄拍摄的图像,根据主摄图像和副摄图像对副摄图像进行颜色迁移,以支持用户看到的副摄所拍摄图像具有与主摄拍摄图像相一致的色彩效果。
对应地,所述步骤110,获取第一图像和第二图像,可以包括以下步骤1101:
步骤1101,在使用所述第二摄像头进行拍摄的情况下,通过获取所述第一摄像头拍摄的预览图像,得到第一图像,以及通过获取所述第二摄像头拍摄的预览图像,得到第二图像。
以第二摄像头为副摄为例,在用户切换到任一副摄,即在使用副摄进行拍摄的情况下,获取主摄拍摄的预览图像和副摄拍摄的预览图像,以便于后续执行对副摄图像的颜色迁移处理。
而在用户切换到主摄,即在使用主摄进行拍摄的情况下,由于主摄图像默认为具有标准的图像色彩效果,故而不执行图像颜色迁移处理。
优选地,可以同时获取两个预览图像,以保证两个图像的针对同一景象的那部分可以尽可能的保持对应,从而可保证对齐效果,进而保证颜色迁移效果。
本实施例中,可以将获得的两个预览图像分别作为第一图像和第二图像。
本实施例中,在使用任一副摄的情况下,可根据主摄和该副摄的预览图像,对副摄的预览图像进行颜色迁移,并将对副摄图像进行颜色迁移后得到的图像显示给用户。如此,用户使用主摄看到的图像的色彩效果和使用任一副摄看到的图像的色彩效果相一致,故而可以避免因摄像头的切换而影响用户使用体验。
基于上述内容,对于两个图像的对齐,在本公开一个实施例中,所述将所述第一图像和所述第二图像进行对齐处理,可以包括以下步骤1201:
步骤1201,以所述第一图像和所述第二图像中的一个图像为参考图像,将所述第一图像和所述第二图像进行对齐处理。
本实施例中,两个图像分别由不同放大倍数的两个摄像头拍摄得到。
对于同一景象,如图2~图4中的标识B所在区域的景象,图2~图4分别可以为相机的广角摄像头、主摄像头、远焦摄像头所拍摄图像的示意图。
可以看出,对于同一景象,摄像头的放大倍数越大,对应该景象的那部分图像在所拍摄图像中可占据相对更大的区域。为提高对齐效果,本实施例中,优选以具有较小放大倍数的摄像头拍摄得到的图像为参考图像,对两个图像进行对齐。
具体地,在所述第一摄像头的放大倍数小于所述第二摄像头的放大倍数的情况下,以所述第二图像为参考图像,以及在所述第一摄像头的放大倍数大于所述第二摄像头的放大倍数的情况下,以所述第一图像为参考图像。
其中,在以第二图像为参考图像的情况下,第二图像与第四图像可以相同;在以第一图像为参考图像的情况下,第一图像与第三图像可以相同。
以第一图像为主摄拍摄的图3所示图像,第二图像为远焦摄像头拍摄的图4所示图像为例,以图4所示图像为参考图像,将图3和图4所示图像进行对齐。
如图3及图4所示,图4所示图像可以为图3所示图像的一部分,故而可以将这部分图像从图3中截取出来并放大至与图4所示图像相同的尺寸,然后将放大后的这部分图像与图4进行对齐。如此,放大后的这部分图像即可以作为第三图像,图4所示图像即可以作为第四图像。
如图2及图3所示,请参考对应标识A的景象,图3所示图像可以为图2所示图像的一部分,故而可以将这部分图像从图2中截取出来并放大至与图3所示图像相同的尺寸,然后将放大后的这部分图像与图3进行对齐。如此,放大后的这部分图像即可以作为第三图像,图3所示图像即可以作为第四图像。
可以看出,基于本实施例提供的对齐方式可以提高对齐效果,进而保证对预设图像的颜色迁移效果。
由上可知,在上述场景1中,本实施例可以保证用户使用相机时,不论用户怎么按需切换摄像头,用户所看到图像的色彩效果均可保持一致,避免出现用户在手机拍照过程中,按需切换不同焦距的摄像头来拍照时,不同摄像头所拍摄图片的色彩效果不一致,从而影响照片观感的情况。此外,基于本实施例提供的图像颜色迁移方法,可使得用户在滑动变焦时,切换摄像头前后所看到画面的色彩相一致,不会有颜色突变的感觉,使用体验佳。
如上所述,由于本发明实施例能够实现多摄像头下图像颜色一致性的效果,使得对于用户经常需要切换不同焦距的摄像头来拍照的这一应用场景,本实施例提供的色彩一致的效果会提升照片的观感。以及,用户在预览界面会使用到滑动变焦,此时色彩一致的效果会保证切换摄像头时画面颜色的流畅性,提升使用体验。
此外,对于通过标定并同步不同摄像头的AWB(Auto White Balance,自动白平衡)参数,进而通过AWB算法使多摄像头的图像在白平衡矫正之后达到色彩一致效果的这一实现方式1,由于不同摄像头的传感器对不同光谱段响应的非线性差异很难通过标定得到,使得标定并同步AWB参数的方法难以达到色彩一致的效果,故而实现方式1难以保证色彩一致的效果。
以及,对于图像工程师通过对ISP(Image Signal Processor,相机用图像处理器)中色彩和亮度模块的精细调制,使多摄像头图像的颜色达到一致效果的这一实现方式2,由于涉及到多个色彩和亮度模块和不同色温场景下的精细调制,而且不同模块间会互相影响,故而实现方式2同样难以达到保证色彩一致的状态。
而本实施例不涉及上述两个实现方式所涉及到的问题,本实施例可以在切换到副摄的情况下,获取主摄和副摄的预览图像,进而对两个预览图像进行对齐,并根据对齐的两个图像中对应同一位置的像素点的像素值,来对副摄预览图像进行颜色迁移,可使得用户看到的副摄图像具有与主摄图像相一致的色彩效果,故而能够保证色彩一致的效果。
详细地,对应于上述场景2:
在本公开一个实施例中,在所述步骤110,获取第一图像和第二图像之前,所述方法还可以包括以下步骤A1~步骤A2:
步骤A1,接收第一输入,所述第一输入用于请求对所述第一图像和所述第二图像进行全景拼接。
详细地,需要进行全景拼接时,用户可发出相应输入,比如用户可以输入用于将图5至图8进行全景拼接的请求。
步骤A2,响应于所述第一输入,执行所述获取第一图像和第二图像的步骤。
该步骤中,图像颜色迁移装置接收到该第一输入后,即可获取第一图像和第二图像,并基于此执行后续的全景拼接处理。
对应地,请参考图5至图9,在所述对预设图像进行颜色迁移之后,所述方法还可以包括下述步骤140或者步骤150。
本实施例中,预设图像为第一图像或第二图像。
本实施例中,第一图像和第二图像可由同一摄像头拍摄相关联的不同场景而得到,也可以由不同摄像头拍摄这些场景而得到。
如图5至图8所示,第一图像和第二图像可以为图5~图8所示图像中的两个相关联图像。两个相关联图像的图像内容不同,但均包括针对同一景象的那部分图像。
比如,第一图像为图5所示图像,第二图像为图6或图7所示图像。或者,第二图像为图5所示图像,第一图像为图6或图7所示图像。
再比如,第一图像为图6所示图像,第二图像为图7或图8所示图像。
又比如,第一图像为图7所示图像,第二图像为图8所示图像。
本实施例中,在不要求以哪一图像的色彩效果为准的情况下,预设图像为第一图像或第二图像均可。通过对一图像进行颜色迁移后,再与另一图像拼接,即可得到色彩效果均匀一致的拼接图像。
基于此,步骤140,获取通过对所述第一图像进行颜色迁移得到的第五图像,并将所述第二图像和所述第五图像进行图像拼接。
详细地,在预设图像为第一图像的情况下,执行步骤140以对第一图像进行颜色迁移,颜色迁移后得到的图像与第二图像的色彩效果基本一致,故而可将两者进行图像拼接,得到拼接图像。
步骤150,获取通过对所述第二图像进行颜色迁移得到的第六图像,并将所述第一图像和所述第六图像进行图像拼接。
详细地,在预设图像为第二图像的情况下,执行步骤150以对第二图像进行颜色迁移,颜色迁移后得到的图像与第一图像的色彩效果基本一致,故而可将两者进行图像拼接,得到拼接图像。
举例来说,请参考图5~图8,假设图5和图7的色彩效果一致、图6和图8的色彩效果一致(图像色彩效果在图5~图8中未示出),若以图6和图8的色彩效果为准进行颜色迁移,则可以令图5为第一图像,图6为第二图像,图5同时为预设图像,对图5进行颜色迁移。然后令图7为第一图像,图8为第二图像,图7同时为预设图像,对图7进行颜色迁移。
之后,可以依次拼接对图5进行颜色迁移得到的图像、图6、对图7进行颜色迁移得到的图像、以及图8,即可得到如图9所示的拼接图像,图9的色彩效果均匀一致(图像色彩效果在图9中未示出),且图9与图6和图8的色彩效果一致。
由上可知,当用户想拼接不同摄像机拍摄的图片时,为避免因颜色风格的不一致而影响拼接后的图像效果,可以使用本实施例提供的方法进行图像颜色迁移,再基于颜色迁移后的图像进行图像拼接,能够得到更好的拼接效果,提升全景拼接效果。
详细地,对应于上述场景3:
在本公开一个实施例中,所述第一图像为预设视频中的任一帧图像;所述第二图像包括根据所述第一图像得到的图像;所述预设图像为所述预设视频中的任一其他帧图像。
详细地,可以人工按需调整第一图像的色彩,以得到第二图像。第一图像和第二图像的图像内容相同但图像色彩不同。
在可行的实现方式中,在步骤130中得到像素点对后,可以将预设视频中区别于第一图像的每一帧图像(即每一其他帧图像)依次作为预设图像,基于该得到的像素点对,依次对这些图像进行颜色迁移。由于无需重复获得像素点对,故可提高视频色彩迁移效率。
举例来说,预设视频可以包括N帧图像,分别为图像1、图像2、……、图像N。为了能够将预设视频的色彩效果进行变更,可以取任一帧图像,比如图像1为第一图像,并结合预期的色彩效果,对图像1进行处理得到图像1.1作为第二图像。
其中,图像1和图像1-1的色彩效果不同但图像内容相同。故而可以直接将两图像进行对齐,并基于两图像中同一位置处的像素点的像素值,分别对其他帧图像进行颜色迁移处理。其中,对于第i(2≤i≤N)帧图像,对图像i进行颜色迁移处理得到图像i.1,图像i和图像i.1的色彩效果不同但图像内容相同。
进而,可由图像1.1~图像N.1组成新的视频,新视频和预设视频的色彩效果不同但视频内容相同,从而实现对预设视频进行色彩效果变更的目的。
在可行的另一实现方式中,在步骤130中得到像素点对后,可以据此计算第预设图像中每个像素点对应的颜色转换矩阵,以计算预设图像中每个像素点的新像素值。然后,可以将该颜色转换矩阵作为其他预设图像中相同位置处像素点对应的颜色转换矩阵,以计算该其他预设图像中每个像素点的新像素值。由于无需重复计算各像素点对应的颜色转换矩阵,故可提高视频色彩迁移效率。
由上可知,对于视频的风格迁移,本实施例不需要对视频中每一帧图像均进行计算,可以仅通过计算得到其中一帧图像的颜色转换矩阵,并应用到全部帧图像处理即可。由于用户不需要手动修饰每一帧图片,处理效率更高。
由上可知,本实施例提供的图像颜色迁移方法至少可支持上述切换到副摄、全景拼接、视频后期修饰三种场景下的图像颜色迁移需求,适用范围广。
基于上述内容可以看出,本实施例提供的图像颜色迁移方法可以达到多个图像颜色一致的效果,提升拍照观感和使用体验,本实施例至少可以具有以下特点:
1)本实施例支持在预览和拍照/录像模式下,相同场景中多摄像头所拍摄图像的图像颜色效果一致;
2)本实施例通过纯软件算法即可达到效果,不需要硬件的改动;
3)本实施例不需要任何模组的标定工作;
4)本实施例不需要精确的图像对齐效果,即可达到准确的颜色迁移效果。
需要说明的是,本申请实施例提供的图像颜色迁移方法,执行主体可以为图像颜色迁移装置,或者该图像颜色迁移装置中的用于执行图像颜色迁移方法的控制模块。本申请实施例中以图像颜色迁移装置执行图像颜色迁移方法为例,说明本申请实施例提供的图像颜色迁移装置。
如图10所示,本实施例提供了一种图像颜色迁移装置200,可以包括第一获取模块210、对齐模块220和第一处理模块230。
其中,所述第一获取模块210用于获取第一图像和第二图像。所述对齐模块220用于将所述第一图像和所述第二图像进行对齐处理,得到对应所述第一图像的第三图像和对应所述第二图像的第四图像。所述第一处理模块230用于根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。
本实施例中,通过对第一图像和第二图像进行对齐处理,可以得到对应第一图像的第三图像和对应第二图像的第四图像,进而可根据第三图像和第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。本实施例基于对齐的图像可对预设图像的颜色进行迁移,从而可优化图像的色彩效果。
在本公开一个实施例中,所述预设图像包括所述第一图像或所述第二图像。
在本公开一个实施例中,所述图像颜色迁移装置200还包括接收模块和拼接模块。
其中,所述接收模块用于在所述第一获取模块210获取第一图像和第二图像之前,接收第一输入,所述第一输入用于请求对所述第一图像和所述第二图像进行全景拼接;响应于所述第一输入,触发所述第一获取模块210执行所述获取第一图像和第二图像的步骤。
所述拼接模块用于在所述第一处理模块230对预设图像进行颜色迁移之后,获取通过对所述第一图像进行颜色迁移得到的第五图像,并将所述第二图像和所述第五图像进行图像拼接。
或者,所述拼接模块用于在所述第一处理模块230对预设图像进行颜色迁移之后,获取通过对所述第二图像进行颜色迁移得到的第六图像,并将所述第一图像和所述第六图像进行图像拼接。
在本公开一个实施例中,所述第一图像包括第一摄像头拍摄的图像,所述第二图像包括第二摄像头拍摄的图像;所述第一摄像头和所述第二摄像头的放大倍数不同。
在本公开一个实施例中,所述对齐模块220,用于以所述第一图像和所述第二图像中的一个图像为参考图像,将所述第一图像和所述第二图像进行对齐处理;其中,在所述第一摄像头的放大倍数小于所述第二摄像头的放大倍数的情况下,以所述第二图像为参考图像,以及在所述第一摄像头的放大倍数大于所述第二摄像头的放大倍数的情况下,以所述第一图像为参考图像;根据所述第一图像的与所述第二图像对齐的部分得到所述第三图像,根据所述第二图像的与所述第一图像对齐的部分得到所述第四图像。
在本公开一个实施例中,所述预设图像包括所述第二图像。所述第一获取模块210,用于在使用所述第二摄像头进行拍摄的情况下,通过获取所述第一摄像头拍摄的预览图像,得到第一图像,以及通过获取所述第二摄像头拍摄的预览图像,得到第二图像。
在本公开一个实施例中,所述第一图像为预设视频中的任一帧图像;所述第二图像包括根据所述第一图像得到的图像;所述预设图像为所述预设视频中的任一其他帧图像。
在本公开一个实施例中,所述第一处理模块230包括第二获取模块、构建模块、第二处理模块、第三处理模块。
其中,所述第二获取模块用于获取所述第三图像和所述第四图像中的对应同一位置的像素点的像素值。所述构建模块用于以所述对应同一位置的像素点的像素值作为一组样本点,构建样本点集合。所述第二处理模块用于对于所述预设图像中的每个第一像素点,根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的第二像素值。所述第三处理模块用于根据得到的分别对应每个所述第一像素点的第二像素值,得到第七图像,所述第七图像为对所述预设图像进行颜色迁移得到的图像。
在本公开一个实施例中,所述第二处理模块用于根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的颜色转换矩阵;根据所述第一像素值和所述颜色转换矩阵,得到对应所述第一像素点的第二像素值。
在本公开一个实施例中,所述第二处理模块用于对于预设立体网格中的每个第一网格点,根据所述样本点集合和所述第一网格点的像素值,得到对应所述第一网格点的颜色转换矩阵,其中,所述预设立体网格通过对RGB空间进行划分得到;对于所述预设图像中的每个第一像素点,根据所述预设图像中所述第一像素点的第一像素值,确定对应所述第一像素值的目标网格点;根据所述第一像素值和对应所述目标网格点的颜色转换矩阵,得到对应所述第一像素点的第二像素值。
本申请实施例中的图像颜色迁移装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的图像颜色迁移装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的图像颜色迁移装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图11所示,本申请实施例还提供一种电子设备300,包括处理器310,存储器320,存储在存储器320上并可在所述处理器310上运行的程序或指令,该程序或指令被处理器310执行时实现上述图像颜色迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图12为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图12中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,用于获取第一图像和第二图像;将所述第一图像和所述第二图像进行对齐处理,得到对应所述第一图像的第三图像和对应所述第二图像的第四图像;根据所述第三图像和所述第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。
本实施例中,通过对第一图像和第二图像进行对齐处理,可以得到对应第一图像的第三图像和对应第二图像的第四图像,进而可根据第三图像和第四图像中的对应同一位置的像素点的像素值,对预设图像进行颜色迁移。本实施例基于对齐的图像可对预设图像的颜色进行迁移,从而可优化图像的色彩效果。
可选地,所述预设图像包括所述第一图像或所述第二图像。
可选地,处理器1010,用于在所述获取第一图像和第二图像之前,接收第一输入,所述第一输入用于请求对所述第一图像和所述第二图像进行全景拼接;响应于所述第一输入,执行所述获取第一图像和第二图像的步骤;在对预设图像进行颜色迁移之后,获取通过对所述第一图像进行颜色迁移得到的第五图像,并将所述第二图像和所述第五图像进行图像拼接。
可选地,处理器1010,用于在对预设图像进行颜色迁移之后,获取通过对所述第二图像进行颜色迁移得到的第六图像,并将所述第一图像和所述第六图像进行图像拼接。
可选地,所述第一图像包括第一摄像头拍摄的图像,所述第二图像包括第二摄像头拍摄的图像;所述第一摄像头和所述第二摄像头的放大倍数不同。
可选地,处理器1010,用于以所述第一图像和所述第二图像中的一个图像为参考图像,将所述第一图像和所述第二图像进行对齐处理;其中,在所述第一摄像头的放大倍数小于所述第二摄像头的放大倍数的情况下,以所述第二图像为参考图像,以及在所述第一摄像头的放大倍数大于所述第二摄像头的放大倍数的情况下,以所述第一图像为参考图像;根据所述第一图像的与所述第二图像对齐的部分得到所述第三图像,根据所述第二图像的与所述第一图像对齐的部分得到所述第四图像。
可选地,所述预设图像包括所述第二图像。处理器1010,用于在使用所述第二摄像头进行拍摄的情况下,通过获取所述第一摄像头拍摄的预览图像,得到第一图像,以及通过获取所述第二摄像头拍摄的预览图像,得到第二图像。
可选地,所述第一图像为预设视频中的任一帧图像;所述第二图像包括根据所述第一图像得到的图像;所述预设图像为所述预设视频中的任一其他帧图像。
可选地,处理器1010,用于获取所述第三图像和所述第四图像中的对应同一位置的像素点的像素值;以所述对应同一位置的像素点的像素值作为一组样本点,构建样本点集合;对于所述预设图像中的每个第一像素点,根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的第二像素值;根据得到的分别对应每个所述第一像素点的第二像素值,得到第七图像,所述第七图像为对所述预设图像进行颜色迁移得到的图像。
可选地,处理器1010,用于根据所述样本点集合和所述预设图像中所述第一像素点的第一像素值,得到对应所述第一像素点的颜色转换矩阵;根据所述第一像素值和所述颜色转换矩阵,得到对应所述第一像素点的第二像素值。
可选地,处理器1010,用于对于预设立体网格中的每个第一网格点,根据所述样本点集合和所述第一网格点的像素值,得到对应所述第一网格点的颜色转换矩阵,其中,所述预设立体网格通过对RGB空间进行划分得到;对于所述预设图像中的每个第一像素点,根据所述预设图像中所述第一像素点的第一像素值,确定对应所述第一像素值的目标网格点;根据所述第一像素值和对应所述目标网格点的颜色转换矩阵,得到对应所述第一像素点的第二像素值。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像颜色迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像颜色迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
- 图像颜色迁移方法、装置、存储介质与电子设备
- 图像颜色迁移方法、装置、设备和计算机可读介质