首页 / 专利库 / 图形技术 / 白平衡 / 图像处理方法、装置、计算机可读存储介质和计算机设备

图像处理方法、装置、计算机可读存储介质和计算机设备

阅读:1017发布:2020-07-06

专利汇可以提供图像处理方法、装置、计算机可读存储介质和计算机设备专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种 图像处理 方法、装置、计算机可读存储介质和计算机设备。所述方法包括:若终端获取到拍摄图像,则检测所述拍摄图像中是否包含白色区域;若所述拍摄图像中不包含白色区域,则在当前拍摄环境下获取不同拍摄画面对应的预览图像;提取每一张所述预览图像中的预览白色区域,并根据所述预览白色区域获取目标 白平衡 参数;根据所述目标白平衡参数对拍摄图像进行白平衡处理。上述图像处理方法、装置、计算机可读存储介质和计算机设备,可以提高图像处理的准确性。,下面是图像处理方法、装置、计算机可读存储介质和计算机设备专利的具体信息内容。

1.一种图像处理方法,其特征在于,所述方法包括:
若终端获取到拍摄图像,则检测所述拍摄图像中是否包含白色区域;
若所述拍摄图像中不包含白色区域,则在当前拍摄环境下获取不同拍摄画面对应的预览图像;
提取每一张所述预览图像中的预览白色区域,并根据所述预览白色区域获取目标白平衡参数;
根据所述目标白平衡参数对拍摄图像进行白平衡处理。
2.根据权利要求1所述的方法,其特征在于,所述在当前拍摄环境下获取不同拍摄画面对应的预览图像包括:
获取所述终端的移动速度;
若所述移动速度小于第一速度阈值,则控制所述终端的摄像头沿着预设方向转动,并在所述摄像头转动过程中获取预览图像。
3.根据权利要求2所述的方法,其特征在于,所述在当前拍摄环境下获取不同拍摄画面对应的预览图像包括:
若所述移动速度大于第一速度阈值且小于第二速度阈值,则在所述终端移动过程中获取预览图像。
4.根据权利要求1所述的方法,其特征在于,所述提取每一张所述预览图像中的预览白色区域包括:
遍历每一张所述预览图像中的像素点,根据所述像素点的通道值计算匹配值;
获取所述预览图像中对应匹配值在匹配值区间的像素点,得到预览白色区域。
5.根据权利要求1所述的方法,其特征在于,所述提取每一张所述预览图像中的预览白色区域包括:
遍历每一张所述预览图像中的像素点,根据所述像素点的通道值计算第一匹配值和第二匹配值;
获取所述预览图像中对应第一匹配值在第一匹配值区间,且所述第二匹配值在第二匹配值区间内的像素点,得到预览白色区域。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述预览白色区域获取目标白平衡参数包括:
根据每一个所述预览白色区域获取对应的白平衡参数,并根据所述白平衡参数获取目标白平衡参数。
7.根据权利要求6所述的方法,其特征在于,所述根据每一个所述预览白色区域获取对应的白平衡参数包括:
统计所述预览白色区域对应的各个通道的平均值,根据所述平均值获取第一通道对应的第一白平衡参数以及第二通道对应的第二白平衡参数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述白平衡参数获取目标白平衡参数包括:
根据所述第一白平衡参数从获取预览白色区域中获取目标白色区域,将所述目标白色区域对应的第一白平衡参数作为第一目标白平衡参数,并将所述目标白色区域对应的第二白平衡参数作为第二目标白平衡参数。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标白平衡参数对拍摄图像进行白平衡处理包括:
根据所述第一目标白平衡参数,对所述拍摄图像中每个像素点的第一通道进行白平衡矫正;
根据所述第二目标白平衡参数,对所述拍摄图像中每个像素点的第二通道进行白平衡矫正。
10.一种图像处理装置,其特征在于,所述装置包括:
拍摄图像检测模,用于若终端获取到拍摄图像,则检测所述拍摄图像中是否包含白色区域;
预览图像获取模块,用于若所述拍摄图像中不包含白色区域,则在当前拍摄环境下获取不同拍摄画面对应的预览图像;
目标参数获取模块,用于提取每一张所述预览图像中的预览白色区域,并根据所述预览白色区域获取目标白平衡参数;
白平衡处理模块,用于根据所述目标白平衡参数对拍摄图像进行白平衡处。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法的步骤。
12.一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可读指令,所述指令被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述的方法的步骤。

说明书全文

图像处理方法、装置、计算机可读存储介质和计算机设备

技术领域

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

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈