图像处理方法、装置、存储介质和电子设备转让专利

申请号 : CN201711287892.8

文献号 : CN107959841B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜成鹏孙剑波

申请人 : OPPO广东移动通信有限公司

摘要 :

本申请涉及一种图像处理方法、装置、存储介质和电子设备,所述方法包括:在摄像头移动过程中,获取预览图像;将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;根据所述白平衡参数获取目标白平衡参数;根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。上述图像处理方法、装置、存储介质和电子设备,可以提供图像处理的准确性。

权利要求 :

1.一种图像处理方法,其特征在于,包括:

在摄像头移动过程中,根据所述摄像头的移动速度获取预览图像;

将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;

从各个所述图像块对应的所述白平衡参数中,获取最接近标准值或最小的白平衡参数作为目标白平衡参数,其中,所述标准值是预先设定的白平衡参数;

根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。

2.根据权利要求1所述的方法,其特征在于,所述在摄像头移动过程中,获取预览图像包括:控制摄像头沿着预设方向转动,并在转动过程中获取所述摄像头生成的预览图像。

3.根据权利要求1所述的方法,其特征在于,所述在摄像头移动过程中,获取预览图像包括:控制第一摄像头沿着第一方向转动,并在转动过程中获取所述第一摄像头生成的第一预览图像;

控制第二摄像头沿着第二方向转动,并在转动过程中获取所述第二摄像头生成的第二预览图像。

4.根据权利要求1所述的方法,其特征在于,所述根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数包括:计算每一张所述预览图像对应的各个所述图像块的匹配值,获取所述匹配值在匹配值区间内的图像块;

计算所获取的每一个所述图像块对应的白平衡参数。

5.根据权利要求4所述的方法,其特征在于,所述计算所获取的每一个所述图像块对应的白平衡参数包括:遍历所获取的每一个所述图像块,获取所述图像块中每一个像素点的各个通道值;

根据获取的所述通道值计算白平衡参数。

6.根据权利要求5所述的方法,其特征在于,所述根据获取的所述通道值计算白平衡参数包括:统计所述图像块对应的各个通道值的平均值,根据所述平均值获取第一白平衡参数和第二白平衡参数。

7.根据权利要求4至6任一项所述的方法,其特征在于,所述白平衡参数包括第一白平衡参数和第二白平衡参数;

所述从各个所述图像块对应的所述白平衡参数中,获取最接近标准值或最小的白平衡参数作为目标白平衡参数包括:将最小的第一白平衡参数对应的图像块作为目标图像块,将所述目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将所述目标图像块对应的第二白平衡参数作为第二目标白平衡参数;

所述根据所述目标白平衡参数对拍摄图像进行白平衡处理包括:根据所述第一目标白平衡参数,对所述拍摄图像中每个像素点的第一通道值进行白平衡矫正;

根据所述第二目标白平衡参数,对所述拍摄图像中每个像素点的第二通道值进行白平衡矫正。

8.一种图像处理装置,其特征在于,包括:

图像获取模块,用于在摄像头移动过程中,根据所述摄像头的移动速度获取预览图像;

参数获取模块,用于将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;从各个所述图像块对应的所述白平衡参数中,获取最接近标准值或最小的白平衡参数作为目标白平衡参数,其中,所述标准值是预先设定的白平衡参数;

图像处理模块,用于根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。

10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

说明书 :

图像处理方法、装置、存储介质和电子设备

技术领域

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

背景技术

[0002] 拍照设备在拍摄同一色彩的对象时,在不同光照环境下,拍摄呈现出该对象的颜色不同。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色精确度的一项指标,对拍摄的图像进行自动白平衡(Auto White Balance,AWB)处理,可以将图像的色彩还原为本来的颜色,以解决拍摄对象在图像中色彩失真的问题。

发明内容

[0003] 本申请实施例提供一种图像处理方法、装置、存储介质和电子设备,可以提高图像处理的准确性。
[0004] 一种图像处理方法,包括:
[0005] 在摄像头移动过程中,获取预览图像;
[0006] 将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;
[0007] 根据所述白平衡参数获取目标白平衡参数;
[0008] 根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0009] 一种图像处理装置,包括:
[0010] 图像获取模块,用于在摄像头移动过程中,获取预览图像;
[0011] 参数获取模块,用于将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;根据所述白平衡参数获取目标白平衡参数;
[0012] 图像处理模块,用于根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0013] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
[0014] 在摄像头移动过程中,获取预览图像;
[0015] 将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;
[0016] 根据所述白平衡参数获取目标白平衡参数;
[0017] 根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0018] 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
[0019] 在摄像头移动过程中,获取预览图像;
[0020] 将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;
[0021] 根据所述白平衡参数获取目标白平衡参数;
[0022] 根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0023] 上述图像处理方法、装置、存储介质和电子设备,可以在摄像头移动的过程中,获取多张预览图像。然后将预览图像划分图像块,并根据每一个图像块计算对应的白平衡参数。最后根据白平衡参数获取目标白平衡参数,然后根据目标白平衡参数对拍摄图像进行白平衡处理。该白平衡处理过程不仅仅以当前拍摄图像为依据,还会考虑到摄像头移动过程中拍摄的预览图像,使得在白平衡处理的时候采集的信息更加全面,白平衡处理也会更加准确。

附图说明

[0024] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1为一个实施例中图像处理方法的应用环境图;
[0026] 图2为一个实施例中图像处理方法的流程图;
[0027] 图3为一个实施例中图像块的示意图;
[0028] 图4为另一个实施例中图像处理方法的流程图;
[0029] 图5为一个实施例中第一方向和第二方向上的示意图;
[0030] 图6为另一个实施例中第一方向和第二方向上的示意图;
[0031] 图7为一个实施例中图像处理装置的结构示意图;
[0032] 图8为一个实施例中图像处理电路的示意图。

具体实施方式

[0033] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0034] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
[0035] 图1为一个实施例中图像处理方法的应用环境图。参考如图1所示,电子设备110上安装有摄像头,电子设备110可以控制摄像头进行转动,也可以通过电子设备110的移动使摄像头产生移动。在摄像头的移动过程中,摄像头可以对物体120进行扫描生成预览图像,然后电子设备110将摄像头生成的每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;根据所述白平衡参数获取目标白平衡参数;根据所述目标白平衡参数对拍摄图像进行白平衡处理。
[0036] 图2为一个实施例中图像处理方法的流程图。如图2所示,该图像处理方法包括步骤202至步骤208。其中:
[0037] 步骤202,在摄像头移动过程中,获取预览图像。
[0038] 在一个实施例中,电子设备上可安装摄像头,安装的摄像头的数量不限。例如,电子设备上可以安装一个、两个或两个以上的摄像头。当电子设备接收到开启摄像头的指令时,可调用摄像头进入拍摄状态。其中,开启摄像头的指令可以是通过侦测到的相关触控操作、物理按键的按压操作或语音控制操作等触发的拍摄指令。触控操作可为触摸点击操作、触摸长按操作、触摸滑动操作、多点触控操作等操作。电子设备可提供用于触发进行拍摄的拍摄按钮,当侦测到对该按钮的点击操作时,触发开启摄像头的指令。电子设备还可预设用于触发该开启摄像头的指令的拍摄语音信息。通过调用语音接收装置,接收对应的语音信息,通过解析该语音信息,当检测到该语音信息与该拍摄语音信息匹配时,可触发该开启摄像头的指令。
[0039] 进入拍摄状态后,摄像头会定时采集拍摄画面并生成预览图像,生成的预览图像一般不会进行存储,而是在电子设备的显示界面上进行显示,供用户进行查看。用户可以根据预览图像调整当前拍摄画面以及拍摄参数,以生成最后的拍摄图像。例如,摄像头在拍摄过程中会每间隔0.5秒采集一帧预览图像,并在显示界面上显示生成的每一帧预览图像。在预览过程中,生成的预览图像会形成一个连续的预览图像序列,供用户查看。
[0040] 具体地,当开启电子设备上的摄像头时,摄像头会实时采集当前拍摄画面,形成预览图像。但是摄像头的视场是固定的,或者只能在一定的范围内变化。因此为了让摄像头可以采集更加全面的拍摄画面,可以让摄像头产生移动,在摄像头移动的过程中,获取预览图像。可以理解的是,摄像头移动可以是通过电子设备控制摄像头进行转动,也可以是通过移动电子设备来带动摄像头的移动,在本实施例中不做具体限定。
[0041] 电子设备在拍摄模式下,还可以在显示屏上显示移动摄像头的提示信息,以提示用户对摄像头进行移动。然后在摄像头的移动过程中,获取预览图像。可以理解地,该提示信息的显示方式和提示信息的数据格式均可包含多种。例如,可显示“请左右移动摄像头”等类似的文字提示信息,或者可显示用于表示左右移动图形或符号等标记,比如可显示表示左右移动的箭头等。电子设备可在拍摄模式下,即可缓存该实时扫描得到的帧图像。可选地,摄像头可进行左右、上下、前后等任意位置移动,在电子设备移动的过程中,生成预览图像,比如可以以某个固定位置进行左右转动。摄像头移动范围越大,则对应可采集到的拍摄画面更丰富,使得后续白平衡处理的准确性更高。举例来说,用户可在拍摄图像之前,可手持该电子设备,对要拍摄的场景进行环境扫描,比如可手持该电子设备360°水平转动一圈,以得到整个空间的预览图像。
[0042] 在一个实施例中,在摄像头的移动过程中,还可以调用运动检测元件,并检测摄像头的移动速度;然后根据移动速度获取预览图像。运动检测元件为适用于检测设备运动状态的元件,可包括但不限于陀螺仪或重力感应装置、加速度传感器等元件。电子设备可调用内置的运动检测元件,计算出摄像头在移动过程中的移动速度。当摄像头的移动速度小于速度阈值时,获取摄像头生成的预览图像。
[0043] 步骤204,将每一张预览图像划分成预设数量的图像块,并根据每一张预览图像对应的各个图像块计算对应的白平衡参数。
[0044] 在摄像头移动的过程中可以获取多张预览图像,然后将每一张预览图像划分为预设数量的图像块。可以理解的是,摄像头采集的预览图像是由若干个像素点构成的,这若干个像素点会形成一个的二维矩阵,每个像素点都有对应的像素值,然后通过不同像素值的像素点按照一定规律进行排列形成不同的预览图像。预览图像的宽度和高度都可以通过像素点的数量进行表示,预览图像的大小则可以通过宽度和高度进行表示。例如,预览图像的大小可以表示为640*320,则表示该预览图像的宽度方向上有640个像素点,高度方向上有320个像素点。
[0045] 具体地,可以将该预览图像的二维矩阵像素点划分成不同的区域,每个区域中包含了预览图像中的部分像素点,一个区域就是一个图像块。图像块的大小可以相同,则预览图像就可以划分成大小相同的若干个图像块。图3为一个实施例中图像块的示意图。如图3所示,图像30的大小为24*16,即图像30的宽度方向上排列有24个像素点,高度方向上排列有16个像素点。可以将图像30平均划分成24个图像块302,每个图像块中包含了4*4个像素点。
[0046] 白平衡参数为用于对图像进行白平衡处理时所需使用到的参数,比如可为图像颜色通道的增益。电子设备可根据每一个图像块中的像素点对应的像素值,算出一个对应的白平衡参数。具体地,电子设备可预设有白平衡算法,该白平衡算法可包括灰度世界算法、完美反射算法、全局白平衡算法和局部白平衡法等其中的一种或多种。电子设备可选取其中一种算法,将该图像块作为该白平衡算法的输入,并运行该白平衡算法,而得到相应的白平衡参数。
[0047] 步骤206,根据白平衡参数获取目标白平衡参数。
[0048] 将每一张预览图像划分成多个图像块,然后针对每一个图像块获取一个对应的白平衡参数,再根据白平衡参数获取目标白平衡参数。例如,可以将获取的白平衡参数进行比较,将最小的白平衡参数作为目标白平衡参数。或者设定一个白平衡参数的标准值,然后将最接近该标准值的白平衡参数作为目标白平衡参数。
[0049] 步骤208,根据目标白平衡参数对拍摄图像进行白平衡处理,其中该拍摄图像是从预览图像中获取的。
[0050] 得到目标白平衡参数之后,根据目标白平衡参数对拍摄图像进行白平衡处理。拍摄图像是从预览图像中获取的,可以是预览图像中的任意一张。具体地,拍摄图像的每个像素点可以由多个颜色通道构成,每个颜色通道表示一个颜色分量。例如,图像可以由RGB(红、绿、蓝三种颜色)三通道构成,也可以是由HSV(色调、饱和度和明度)三通道构成,还可以是由CMY(青、洋红或品红和黄三种颜色)三通道构成。针对每个像素点上的每个颜色通道,可按照相应的目标白平衡参数进行修正。从而实现对拍摄图像的白平衡处理,使得修正后的颜色通道更能反映出对应被拍摄物体的真实色彩。
[0051] 上述图像处理方法,可以在摄像头移动的过程中,获取多张预览图像。然后将预览图像划分图像块,并根据每一个图像块计算对应的白平衡参数。最后根据白平衡参数获取目标白平衡参数,然后根据目标白平衡参数对拍摄图像进行白平衡处理。该白平衡处理过程不仅仅以当前拍摄图像为依据,还会考虑到摄像头移动过程中拍摄的预览图像,使得在白平衡处理的时候采集的信息更加全面,白平衡处理也会更加准确。
[0052] 图4为另一个实施例中图像处理方法的流程图。如图4所示,该图像处理方法包括步骤402至步骤414。其中:
[0053] 步骤402,控制摄像头沿着预设方向转动,并在转动过程中获取摄像头生成的预览图像。
[0054] 电子设备可控制摄像头沿着预设方向进行转动,在摄像头转动过程中获取预览图像。具体地,还可以控制摄像头在预设方向上转动预设角度。例如,手机可以控制摄像头在水平方向上转动180°,或者控制摄像头在垂直方向上转动360°等。电子设备可以包括一个或多个摄像头,则可以控制这一个或多个摄像头进行转动,获取更多的拍摄场景。例如,手机上可以安装前置摄像头和后置摄像头,还可以安装多个前置摄像头或后置摄像头。若电子设备上安装有两个以上的摄像头,则可以控制各个摄像头分别朝不同的方向转动,这样可以提高采集预览图像的效率,也可以采集更多的拍摄场景。
[0055] 具体地,可以控制第一摄像头沿着第一方向转动,并在转动过程中获取第一摄像头生成的第一预览图像;控制第二摄像头沿着第二方向转动,并在转动过程中获取第二摄像头生成的第二预览图像。根据获取的第一预览图像和第二预览图像得到预览图像,然后根据预览图像获取白平衡参数。还可以预先设置摄像头转动的角度,例如控制摄像头转动90°,或控制摄像头转动180°等。则步骤402具体可以包括:控制第一摄像头沿着第一方向转动第一角度,并在转动过程中获取第一摄像头生成的第一预览图像;控制第二摄像头沿着第二方向转动第二角度,并在转动过程中获取第二摄像头生成的第二预览图像。可以理解的是,第一方向和第二方向可以相同,也可以不同。第一角度和第二角度可以相同,也可以不同,在此不做限定。
[0056] 图5和图6分别给出了一个实施例中第一方向和第二方向上的示意图。如图5所示,可以控制第一摄像头502朝第一方向506进行转动,控制第二摄像头504朝第二方向508进行转动,并在摄像头的转动过程中获取预览图像。如图6所示,可以控制第一摄像头602朝第一方向606进行转动,控制第二摄像头604朝第二方向608进行转动,并在摄像头的转动过程中获取预览图像。
[0057] 步骤404,将每一张预览图像划分成预设数量的图像块。
[0058] 步骤406,计算每一张预览图像对应的各个图像块的匹配值,获取匹配值在匹配值区间内的图像块。
[0059] 在一个实施例中,图像块中包含了若干个像素点,每个像素点都有对应的RGB三个通道值。像素点的每个颜色通道都会通过一个数值进行表示,该数值的取值范围为0~255。白平衡处理时需要找到图像中最白的点作为标准参考值,进行然后根据该标准参考值进行颜色矫正。当像素点呈白色的时候,像素点的RGB通道值分别为255、255、255。匹配值是用于筛选图像块的值,当匹配值在匹配值区间的时候,认为该图像块可以用于计算白平衡参数,否则将该图像块进行丢弃。因此图像块对应的匹配值可以根据图像块中的像素点的RGB通道值来计算,然后根据匹配值筛选图像块。
[0060] 具体地,可以遍历图像块中的像素点,根据像素点的RGB通道值计算均值,分别得到R通道均值和B通道均值。然后将R通道均值和B通道均值的比值,得到图像块对应的匹配值。例如,假设匹配值区间为0.8~1.2,计算得到图像块的R通道均值、B通道均值,分别为245、251,那么得到的该图像块的匹配值就为245/251=0.97。该图像块的匹配值在匹配值区间内,则该图像块会被保留。
[0061] 步骤408,计算所获取的每一个图像块对应的白平衡参数,该白平衡参数包括第一白平衡参数和第二白平衡参数。
[0062] 根据所获取的每一个图像块,计算对应的白平衡参数。具体地,遍历所获取的每一个图像块,获取图像块中每一个像素点的各个通道值;并根据获取的通道值计算白平衡参数。具体地,白平衡参数包括第一白平衡参数和第二白平衡参数。第一白平衡参数和第二白平衡参数可以分别为两个不同的颜色通道的白平衡增益,根据第一白平衡参数和第二白平衡参数可以分别对两个颜色通道进行颜色矫正。
[0063] 在一个实施例中,获取白平衡参数的方法具体可以包括:统计图像块对应的各个通道值的平均值,根据平均值获取第一白平衡参数和第二白平衡参数。具体地,可以遍历图像块中的像素点,根据像素点的RGB通道值计算均值,分别得到R通道均值、G通道均值和B通道均值。然后将R通道均值和G通道均值的比值,作为图像块对应的第一白平衡参数;将B通道均值和G通道均值的比值,作为图像块对应的第二白平衡参数。
[0064] 步骤410,根据第一白平衡参数从获取图像块中获取目标图像块,将目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将目标图像块对应的第二白平衡参数作为第二目标白平衡参数。
[0065] 在获取的图像块中,每一个图像块都有对应的第一白平衡参数和第二白平衡参数。则根据第一白平衡参数从获取图像块中获取目标图像块,将目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将目标图像块对应的第二白平衡参数作为第二目标白平衡参数。具体地,可以将最小的第一白平衡参数对应的图像块作为目标图像块,然后将目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将目标图像块对应的第二白平衡参数作为第二目标白平衡参数,再根据第一目标白平衡参数和第二目标白平衡参数对拍摄图像进行白平衡处理。例如,第一白平衡参数为Rave/Gave,第二白平衡参数为Bave/Gave,其中Rave、Gave、Bave分别表示RGB三通道均值。则将各个图像块的Rave/Gave进行比较,将Rave/Gave最小的图像块作为目标图像块,则将目标图像块对应的Rave/Gave、Bave/Gave,分别作为第一目标白平衡参数、第二目标白平衡参数。
[0066] 步骤412,根据第一目标白平衡参数,对拍摄图像中每个像素点的第一通道值进行白平衡矫正。
[0067] 步骤414,根据第二目标白平衡参数,对待处理图像中每个像素点的第二通道值进行白平衡矫正。
[0068] 可以理解的是,获取的目标白平衡参数包括第一目标白平衡参数和第二目标白平衡参数,然后根据第一目标白平衡参数,对拍摄图像中每个像素点的第一通道值进行白平衡矫正,并根据第二目标白平衡参数,对拍摄图像中每个像素点的第二通道值进行白平衡矫正。例如,得到的第一目标白平衡参数和第二目标白平衡参数分别为Rave/Gave、Bave/Gave,则可以遍历拍摄图像中的像素点,然后将每一个像素点的R通道值乘以Rave/Gave的倒数,再将每个像素点的B通道值乘以Bave/Gave的倒数,以完成对该拍摄图像的R颜色通道和B颜色通道的白平衡矫正,实现对拍摄图像的白平衡处理。
[0069] 上述实施例提供的图像处理方法,可以在摄像头移动的过程中,获取多张预览图像。然后将预览图像划分图像块,并根据每一个图像块计算对应的白平衡参数。最后根据白平衡参数获取目标白平衡参数,然后根据目标白平衡参数对拍摄图像进行白平衡处理。该白平衡处理过程不仅仅以当前拍摄图像为依据,还会考虑到摄像头移动过程中拍摄的预览图像,使得在白平衡处理的时候采集的信息更加全面,白平衡处理也会更加准确。
[0070] 应该理解的是,虽然图2和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0071] 图7为一个实施例中图像处理装置的结构示意图。如图7所示,该图像处理装置700包括图像获取模块702、参数获取模块704和图像处理模块706。其中:
[0072] 图像获取模块702,用于在摄像头移动过程中,获取预览图像。
[0073] 参数获取模块704,用于将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;根据所述白平衡参数获取目标白平衡参数。
[0074] 图像处理模块706,用于根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0075] 上述实施例提供的图像处理装置,可以在摄像头移动的过程中,获取多张预览图像。然后将预览图像划分图像块,并根据每一个图像块计算对应的白平衡参数。最后根据白平衡参数获取目标白平衡参数,然后根据目标白平衡参数对拍摄图像进行白平衡处理。该白平衡处理过程不仅仅以当前拍摄图像为依据,还会考虑到摄像头移动过程中拍摄的预览图像,使得在白平衡处理的时候采集的信息更加全面,白平衡处理也会更加准确。
[0076] 在一个实施例中,图像获取模块702还用于控制摄像头沿着预设方向转动,并在转动过程中获取所述摄像头生成的预览图像。
[0077] 在一个实施例中,图像获取模块702还用于控制第一摄像头沿着第一方向转动,并在转动过程中获取所述第一摄像头生成的第一预览图像;控制第二摄像头沿着第二方向转动,并在转动过程中获取所述第二摄像头生成的第二预览图像。
[0078] 在一个实施例中,参数获取模块704还用于计算每一张所述预览图像对应的各个所述图像块的匹配值,获取所述匹配值在匹配值区间内的图像块;计算所获取的每一个所述图像块对应的白平衡参数。
[0079] 在一个实施例中,参数获取模块704还用于遍历所获取的每一个所述图像块,获取所述图像块中每一个像素点的各个通道值;根据获取的所述通道值计算白平衡参数。
[0080] 在一个实施例中,参数获取模块704还用于统计所述图像块对应的各个通道值的平均值,根据所述平均值获取第一白平衡参数和第二白平衡参数。
[0081] 在一个实施例中,参数获取模块704还用于根据所述第一白平衡参数从获取图像块中获取目标图像块,将所述目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将所述目标图像块对应的第二白平衡参数作为第二目标白平衡参数。
[0082] 在一个实施例中,图像处理模块706还用于根据所述第一目标白平衡参数,对所述拍摄图像中每个像素点的第一通道值进行白平衡矫正;根据所述第二目标白平衡参数,对所述待处理图像中每个像素点的第二通道值进行白平衡矫正。
[0083] 上述图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像处理装置按照需要划分为不同的模块,以完成上述图像处理装置的全部或部分功能。
[0084] 本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行如下步骤:
[0085] 在摄像头移动过程中,获取预览图像;
[0086] 将每一张所述预览图像划分成预设数量的图像块,并根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数;
[0087] 根据所述白平衡参数获取目标白平衡参数;
[0088] 根据所述目标白平衡参数对拍摄图像进行白平衡处理,其中所述拍摄图像是从所述预览图像中获取的。
[0089] 在一个实施例中,所述处理器执行的所述在摄像头移动过程中,获取预览图像包括:
[0090] 控制摄像头沿着预设方向转动,并在转动过程中获取所述摄像头生成的预览图像。
[0091] 在一个实施例中,所述处理器执行的所述在摄像头移动过程中,获取预览图像包括:
[0092] 控制第一摄像头沿着第一方向转动,并在转动过程中获取所述第一摄像头生成的第一预览图像;
[0093] 控制第二摄像头沿着第二方向转动,并在转动过程中获取所述第二摄像头生成的第二预览图像。
[0094] 在一个实施例中,所述处理器执行的所述根据每一张所述预览图像对应的各个所述图像块计算对应的白平衡参数包括:
[0095] 计算每一张所述预览图像对应的各个所述图像块的匹配值,获取所述匹配值在匹配值区间内的图像块;
[0096] 计算所获取的每一个所述图像块对应的白平衡参数。
[0097] 在一个实施例中,所述处理器执行的所述计算所获取的每一个所述图像块对应的白平衡参数包括:
[0098] 遍历所获取的每一个所述图像块,获取所述图像块中每一个像素点的各个通道值;
[0099] 根据获取的所述通道值计算白平衡参数。
[0100] 在一个实施例中,所述处理器执行的所述根据获取的所述通道值计算白平衡参数包括:
[0101] 统计所述图像块对应的各个通道值的平均值,根据所述平均值获取第一白平衡参数和第二白平衡参数。
[0102] 在一个实施例中,所述处理器执行的所述白平衡参数包括第一白平衡参数和第二白平衡参数;
[0103] 所述根据所述白平衡参数获取目标白平衡参数包括:
[0104] 根据所述第一白平衡参数从获取图像块中获取目标图像块,将所述目标图像块对应的第一白平衡参数作为第一目标白平衡参数,并将所述目标图像块对应的第二白平衡参数作为第二目标白平衡参数;
[0105] 所述根据所述目标白平衡参数对拍摄图像进行白平衡处理包括:
[0106] 根据所述第一目标白平衡参数,对所述拍摄图像中每个像素点的第一通道值进行白平衡矫正;
[0107] 根据所述第二目标白平衡参数,对所述待处理图像中每个像素点的第二通道值进行白平衡矫正。
[0108] 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的图像处理方法。
[0109] 本申请实施例还提供一种计算机设备。上述计算机设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图8为一个实施例中图像处理电路的示意图。如图8所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
[0110] 如图8所示,图像处理电路包括ISP处理器840和控制逻辑器850。成像设备810捕捉的图像数据首先由ISP处理器840处理,ISP处理器840对图像数据进行分析以捕捉可用于确定和/或成像设备810的一个或多个控制参数的图像统计信息。成像设备810可包括具有一个或多个透镜812和图像传感器814的照相机。图像传感器814可包括色彩滤镜阵列(如Bayer滤镜),图像传感器814可获取用图像传感器814的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器840处理的一组原始图像数据。传感器820(如陀螺仪)可基于传感器820接口类型把采集的图像处理的参数(如防抖参数)提供给ISP处理器840。传感器820接口可以利用SMIA(Standard Mobile Imaging Architecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
[0111] 此外,图像传感器814也可将原始图像数据发送给传感器820,传感器820可基于传感器820接口类型把原始图像数据提供给ISP处理器840,或者传感器820将原始图像数据存储到图像存储器830中。
[0112] ISP处理器840按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器840可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
[0113] ISP处理器840还可从图像存储器830接收图像数据。例如,传感器820接口将原始图像数据发送给图像存储器830,图像存储器830中的原始图像数据再提供给ISP处理器840以供处理。图像存储器830可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(Direct Memory Access,直接直接存储器存取)特征。
[0114] 当接收到来自图像传感器814接口或来自传感器820接口或来自图像存储器830的原始图像数据时,ISP处理器840可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器830,以便在被显示之前进行另外的处理。ISP处理器840从图像存储器830接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。ISP处理器840处理后的图像数据可输出给显示器870,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器840的输出还可发送给图像存储器830,且显示器870可从图像存储器830读取图像数据。在一个实施例中,图像存储器830可被配置为实现一个或多个帧缓冲器。此外,ISP处理器840的输出可发送给编码器/解码器860,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器870设备上之前解压缩。编码器/解码器860可由CPU或GPU或协处理器实现。
[0115] ISP处理器840确定的统计数据可发送给控制逻辑器850单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜812阴影校正等图像传感器814统计信息。控制逻辑器850可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备810的控制参数及ISP处理器840的控制参数。例如,成像设备810的控制参数可包括传感器820控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、透镜812控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。ISP控制参数可包括用于自动白平衡和颜色调整(例如,在RGB处理期间)的增益水平和色彩校正矩阵,以及透镜812阴影校正参数。
[0116] 以下为运用图8中图像处理技术实现上述实施例提供的图像处理方法的步骤。
[0117] 本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
[0118] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。