具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种图像处理方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、在获取到目标图像的情况下,确定所述目标图像中每个目标像素点的目标相位差值。
在本发明实施例中,可以采用单摄像头模组作为相机,进行目标图像的拍摄,并从获得的目标图像中,计算每个目标像素点的目标相位差值。
具体的,相机拍摄得到的目标图像中,每个像素点都可以进一步被划分为两个像素,这两个像素中,每个像素各自对应一个线性感光传感器,两个像素的线性感光传感器的信号差值,可以作为该像素点的相位差值,相位差值可以反映该像素点的特性,用以将该像素点与其他像素点进行区分。
在一种具体实现方式中,可以将相机拍摄目标图像的过程中的原始图像文件进行提取,并将该原始图像文件转换为灰度通道(明亮度通道)的图像,将灰度通道的图像中相邻两个像素之间的灰度值差值作为像素点的相位差值。
步骤102、根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息。
在本发明实施例中,图像的深度信息,是实现图像大光圈虚化效果的重要参数,因此,获取目标图像中每个目标像素点的目标深度信息,是实现目标图像大光圈虚化效果的前置条件。
一个目标像素点的目标深度信息,可以理解为该目标像素点与相机之间的距离值,在实际图像中,不同像素点与相机之间的距离可以不相同,且不同像素点对应在拍摄物体上的位置,可以处于不同的光照环境中,使得不同像素点可以具有不同的相位差值。
因此,可以根据不同像素点具有不同深度信息和不同的相位差值这种特性,通过先置的相机标定手段,获得深度信息、相位差值之间对应关系,并将该对应关系存储在相机内存中,以供后续通过相机拍摄目标图像时,能够根据该对应关系和每个像素点的相位差值,查找每个目标像素点对应的目标深度信息。
具体的,先置的相机标定手段可以通过设定一个位置固定的待拍摄物体,并在以标定对象为起点的延长线上,设定多个拍摄点(不同拍摄点与标定对象之间的距离不同),并将相机置于每个拍摄点拍摄该标定对象,得到数量与拍摄点的数量相同的多个标定图像,针对每个标定图像,确定其包含的每个像素点(不同标定图像包括的像素点的个数和位置相同),以及每个像素点的相位差值,再将每个标定图像对应的距离值作为该标定图像中每个像素点的深度信息,通过对所有标定图案的像素点的深度信息、相位差值进行统计,可以得到深度信息、相位差值之间的拟合曲线,即通过一个目标像素点的目标相位差值,可以从拟合曲线中查询得到对应的目标深度信息。
步骤103,根据所述目标图像对应的拍摄参数和目标深度信息,确定所述目标图像中每个目标像素点的模糊半径。
在本发明实施例中,像素点的模糊半径是以该像素点为中心点向外模糊数值的大小,拍摄参数可以包括相机的焦点、焦距、目标光圈值等参数。具体的,可以根据所需求的大光圈虚化效果的强度,设定对应要模拟的目标光圈值,并根据拍摄参数和每个目标像素点的目标深度信息,计算得到每个目标像素点的模糊半径。
步骤104,根据每个所述目标像素点的模糊半径,对所述目标图像进行模糊处理。
在该步骤中,在得到每个目标像素点的模糊半径之后,可以在保留目标像素点的边缘的同时,通过模糊算法,对以该目标像素点为中心模糊半径内的区域进行模糊处理。
例如,在一张人像图片中,相机对焦至画面中的人物,通过根据由人像图片中每个像素点的深度信息,以及相机的拍摄参数计算得到每个像素点的模糊半径,对该人像图片中每个像素点进行模糊处理,在得到的处理后的人像图片中,画面中的人物所处区域画面清晰、锐度较高,而人物背景所处区域画面为模糊效果,锐度较低,从而呈现出大光圈虚化效果。
综上,本发明实施例提供的一种图像处理方法,通过在获取到目标图像的情况下,确定目标图像中每个目标像素点的目标相位差值;根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息;根据目标图像对应的拍摄参数和目标深度信息,确定目标图像中每个目标像素点的模糊半径;根据每个目标像素点的模糊半径,对目标图像进行模糊处理。本发明利用像素点的相位差值与深度信息之间的拟合特性,可以在相机中预置深度信息、相位差值之间的对应关系,从而在相机拍摄目标图像时,可以根据该对应关系,查找到目标图像中每个目标像素点的目标相位差值对应的目标深度信息,从而可以根据目标图像对应的拍摄参数和目标深度信息,确定每个目标像素点的模糊半径,使得可以利用每个目标像素点的模糊半径,对目标图像进行模糊处理,实现大光圈虚化效果,本发明不采用额外传感器和双摄像头进行深度信息的获取,从而降低了大光圈虚化效果的实现成本。另外,由于本发明不采用额外传感器进行深度信息的获取,也避免了环境光产生的干扰,使得大光圈虚化效果的实现不受场景限制。
图2是本发明实施例提供的一种样本处理方法的步骤流程图,如图2所示,该方法可以包括:
步骤201、在获取到目标图像的情况下,确定所述目标图像中每个目标像素点的目标相位差值。
该步骤具体可以参照上述步骤101,此处不再赘述。
步骤202、根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息。
该步骤具体可以参照上述步骤102,此处不再赘述。
可选的,深度信息、相位差值之间的对应关系,包括:所述深度信息与所述相位差值之间的拟合曲线。在本发明实施例中,根据像素点深度信息的发生变化,可以发现该像素点的相位差值随之发生对应变化,因此,像素点的深度信息和相位差值之间存在拟合关系,根据这种拟合关系,可以通过前置统计相机拍摄的标定图像中每个像素点的深度信息和相位差值,从而绘制出深度信息与相位差值之间的拟合曲线。
步骤203、根据所述对焦点对应的像素点的深度信息、所述目标焦距、所述目标光圈值、所述像元尺寸和所述目标深度信息,确定所述目标像素点的模糊半径。
具体的,拍摄参数可以包括:对焦点对应的像素点的坐标、目标焦距、目标光圈值和像元尺寸,其中,目标焦距是需要模拟的大光圈虚化效果所对应的焦距,目标光圈值是需要模拟的大光圈虚化效果所对应的光圈值,像元尺寸也称为相机像素尺寸,即相机中对物体进行拍摄采样的最小传感器单元的尺寸,通俗理解就是指图像处理芯片的像元阵列上每个像元的实际物理尺寸。
进一步的,可以根据以下公式,计算得到每个目标像素点的模糊半径:
其中,δpixel为目标像素点的模糊半径,ufocus为对焦点对应的像素点的深度信息,uobject为目标像素点的深度信息,f为目标焦距,F为目标光圈值,ccdSize为像元尺寸。
步骤204、根据每个所述目标像素点的模糊半径,对所述目标图像进行模糊处理。
该步骤具体可以参照上述步骤104,此处不再赘述。
可选的,在步骤202之前,所述方法还可以包括:
步骤A1、基于由近到远或由远到近的多个不同距离值,获取每个距离值下拍摄的原始图像。
可选的,相邻所述距离值之间间隔预设距离值,所述预设距离值的取值范围为5至15厘米。
参照图3,其示出了本发明实施例提供的一种相机标定场景示意图,在本发明实施例中,相机可以事先通过在相机标定场景中的标定操作,得到相位差值、深度信息之间的对应关系,其中,在一种具体实现方式中,标定场景可以如图3所示,可以确定一个位置固定的标定对象20,并在以标定对象20为起点的线段30上,设定多个拍摄点31(不同拍摄点31与标定对象20之间的距离不同),并将相机10置于每个拍摄点31拍摄该标定对象20,使得相机10可以基于由近到远或由远到近的多个不同距离值,获取每个距离值下拍摄的原始图像,得到数量与拍摄点31的数量相同的多个原始图像。
需要说明的是,为了保证相位差值、深度信息之间的对应关系的拟合平滑性,可以将邻拍摄点31之间设置固定的预设距离值,优选的,该预设距离值的取值范围为5至15厘米。
步骤A2、确定所述原始图像中像素点的相位差值。
在该步骤中,参照图3,相机10在获取到每个距离值下拍摄的原始图像之后,可以计算原始图像中像素点的相位差值。
在一种具体实现方式中,可以将相机拍摄目标图像的过程中的原始图像文件进行提取,并将该原始图像文件转换为灰度通道(明亮度通道)的图像,将灰度通道的图像中相邻两个像素之间的灰度值差值作为像素点的相位差值。
需要说明的是,原始图像可以为可以为raw(原材料)域的图像,原始图像包含从相机的图像传感器所生成的原始数据。原始图像包括最原始的图像数据,该图像数据尚未被处理,未被打印或用于编辑。通常情况下,原始图像有宽色域的内部色彩,可以进行精确的调整,可以在转换之前作出一些简单修改。原始图像可以尽可能的捕捉现场的拍摄特性,并包含有关场景的光照强度和颜色的物理信息,同时记录了由电子设备摄像机拍摄所产生的一些元数据(如感光度的设置、快门速度、光圈值、白平衡等)。相较于RGB格式的图像,原始图像保留了大部分拍摄的图像信息,具有更多的图像细节。
可选的,步骤A2具体可以包括:
子步骤A21、对所述原始图像进行插值处理,得到相位信息图。
在本发明实施例中,可以直接对原始图像进行插值处理,首先从原始图像中提取得到YUV(明亮度通道、色度通道、饱和度通道)格式的图像,并进一步提取YUV格式的图像中明亮度通道(Y)的图像,明亮度通道(Y)的图像可以作为相位信息图,其也称为灰度图,可以反映其中各个像素点的灰度值的变化。
具体的,参照图4,其示出了本发明实施例提供的一种图像阵列示意图,图4示出了RGB格式的图像的拜耳(Bayer)阵列示意图,例如,图4可以Bayer Full PD传感器输出的图像数据,其中,区域A是一个像素点所处的区域,每个区域A1中,依次按照左上、右上、左下、右下四个像素,可以为得到像素按照gbrg(绿蓝红绿)通道依次排列的预设区域A1。另外,在实际应用中,区域A1中还可以具有grbg(绿红蓝绿)通道、rggb(红绿绿蓝)通道、bggr(蓝绿绿红)通道的列阵排布形式,本发明实施例对此不作限定。
拜耳阵列是实现图像传感器拍摄彩色图像的主要技术之一,它是一个4×4阵列,由8个绿色(G)、4个蓝色(B)和4个红色(R)像素组成。整体上,绿色像素的数量是其他两种颜色像素数量的两倍,这是因为研究显示人眼对绿色最敏感,所以滤光层的绿色像素最多,使得拜耳阵列可以很好的模拟人眼对色彩的敏感程度,因此被广泛运用于现代数码相机、摄像机和手机摄像头中。
在一种实现方式中,参照图5,其示出了图4的RGB格式的图像转换为亮度通道的图像之后,亮度通道模式下的图像阵列示意图,其中,区域A2对应图4中一个像素点的区域A1,进一步的,参照图6,其示出了图5的亮度通道的图像的图像阵列转换后的亮度通道的相位信息图,其中,区域A3也可以对应图4中一个像素点的区域A1。
在本申请实施例中,参照图6,插值计算为:YL=a×GL+b×BL+c×RL;YR=a’×GR+b’×BR+c’×RR,其中a、b、c、a’、b’、c’可以为根据实际需求设定的常数。
子步骤A22、对所述相位信息图进行左右图分离,得到左相位信息图像和右相位信息图像。
子步骤A23、根据所述左相位信息图像和所述右相位信息图像,确定所述原始图像中像素点的相位差值。
在对图6示出的亮度通道的相位信息图进行左右图分离之后,参照图7,可以得到左相位信息图像A和右相位信息图像B。
在得到左相位信息图像A和右相位信息图像B之后,可以将左相位信息图像A和右相位信息图像B进行立体匹配,从而得到图4中区域A1对应像素点的相位差值。
具体的,在立体匹配时可以使用的算法包括:半全局块匹配(SGBM,Semi-GlobalBlock Matching)算法、全局半匹配(SGM,semi-global matching)算法、基于深度学习的立体匹配算法。
需要说明的是,在另一种实现方式中,参照图8,其示出了图4的RGB格式的图像转换为的绿色通道模式的图像之后,插值处理后得到的相位信息图,其中,区域A4对应图4中一个像素点的区域A1。
在本申请实施例中,参照图8,其中,GL=a×GL;GR=a’×GR,其中a、a’可以为根据实际需求设定的常数。
在对图8示出的绿色通道的相位信息图进行左右图分离之后,参照图9,可以得到左相位信息图像C和右相位信息图像D。
在得到左相位信息图像C和右相位信息图像D之后,可以将左相位信息图像C和右相位信息图像D进行相减,从而得到图4中区域A1对应像素点的相位差值。具体的计算过程为求GL和GR之间的差值。
步骤A3、在所有所述原始图像中,将所述原始图像对应的距离值作为深度信息,建立所述相位差值、所述深度信息之间的对应关系。
在本发明实施例中,在得到原始图像中像素点的相位差值之后,可以将每个原始图像对应的距离值作为深度信息,通过统计所有原始图像的深度信息、每个像素点之间的相位差值,可以建立相位差值、深度信息之间的对应关系,一般来说,离相机距离越近的原始图像,其中像素点的相位差越大,即深度信息越小,相位差值越大。
具体的,该对应关系可以写入相机的内存中,以供后续调用使用。
综上所述,本发明实施例通过在获取到目标图像的情况下,确定目标图像中每个目标像素点的目标相位差值;根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息;根据目标图像对应的拍摄参数和目标深度信息,确定目标图像中每个目标像素点的模糊半径;根据每个目标像素点的模糊半径,对目标图像进行模糊处理。本发明利用像素点的相位差值与深度信息之间的拟合特性,可以在相机中预置深度信息、相位差值之间的对应关系,从而在相机拍摄目标图像时,可以根据该对应关系,查找到目标图像中每个目标像素点的目标相位差值对应的目标深度信息,从而可以根据目标图像对应的拍摄参数和目标深度信息,确定每个目标像素点的模糊半径,使得可以利用每个目标像素点的模糊半径,对目标图像进行模糊处理,实现大光圈虚化效果,本发明不采用额外传感器和双摄像头进行深度信息的获取,从而降低了大光圈虚化效果的实现成本。另外,由于本发明不采用额外传感器进行深度信息的获取,也避免了环境光产生的干扰,使得大光圈虚化效果的实现不受场景限制。
图10是本发明实施例提供的一种图像处理装置的框图,如图10所示,该装置可以包括:
第一获取模块301,用于在获取到目标图像的情况下,确定所述目标图像中每个目标像素点的目标相位差值;
深度信息模块302,用于根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息;
计算模块303,用于根据所述目标图像对应的拍摄参数和目标深度信息,确定所述目标图像中每个目标像素点的模糊半径;
可选的,所述拍摄参数包括:对焦点对应的像素点的坐标、目标焦距、目标光圈值和像元尺寸;所述计算模块303,包括:
计算子模块,用于根据所述对焦点对应的像素点的深度信息、所述目标焦距、所述目标光圈值、所述像元尺寸和所述目标深度信息,确定所述目标像素点的模糊半径。
处理模块304,用于根据每个所述目标像素点的模糊半径,对所述目标图像进行模糊处理。
可选的,所述装置还包括:
第二获取模块,用于基于由近到远或由远到近的多个不同距离值,获取每个距离值下拍摄的原始图像;
差值模块,用于确定所述原始图像中每个像素点的相位差值;
可选的,所述差值模块,包括:
插值子模块,用于对所述原始图像进行插值处理,得到相位信息图;
分离子模块,用于对所述相位信息图进行左右图分离,得到左相位信息图像和右相位信息图像。
计算子模块,用于根据所述左相位信息图像和所述右相位信息图像,确定所述原始图像中像素点的相位差值。
建立模块,用于在所有所述原始图像中,将所述原始图像对应的距离值作为深度信息,建立所述相位差值、所述深度信息之间的对应关系。
可选的,相邻所述距离值之间间隔预设距离值,所述预设距离值的取值范围为5至15厘米。
可选的,所述深度信息、相位差值之间的对应关系,包括:
所述深度信息与所述相位差值之间的拟合曲线。
综上,本发明实施例提供的图像处理装置,通过在获取到目标图像的情况下,确定目标图像中每个目标像素点的目标相位差值;根据深度信息、相位差值之间对应关系,确定每个目标像素点的目标相位差值对应的目标深度信息;根据目标图像对应的拍摄参数和目标深度信息,确定目标图像中每个目标像素点的模糊半径;根据每个目标像素点的模糊半径,对目标图像进行模糊处理。本发明利用像素点的相位差值与深度信息之间的拟合特性,可以在相机中预置深度信息、相位差值之间的对应关系,从而在相机拍摄目标图像时,可以根据该对应关系,查找到目标图像中每个目标像素点的目标相位差值对应的目标深度信息,从而可以根据目标图像对应的拍摄参数和目标深度信息,确定每个目标像素点的模糊半径,使得可以利用每个目标像素点的模糊半径,对目标图像进行模糊处理,实现大光圈虚化效果,本发明不采用额外传感器和双摄像头进行深度信息的获取,从而降低了大光圈虚化效果的实现成本。另外,由于本发明不采用额外传感器进行深度信息的获取,也避免了环境光产生的干扰,使得大光圈虚化效果的实现不受场景限制。
另外,本发明实施例还提供一种装置,具体可以参照图11,该装置600包括处理器610,存储器620以及存储在存储器620上并可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述实施例的图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本发明实施例还提供了一种计算机程序,该计算机程序可以存储在云端或本地的存储介质上。在该计算机程序被计算机或处理器运行时用于执行本发明实施例的图像处理方法的相应步骤,并且用于实现根据本发明实施例的图像处理装置中的相应模块。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。