图像处理方法、装置、电子设备以及存储介质与流程

文档序号:20567929发布日期:2020-04-29 00:34阅读:90来源:国知局
图像处理方法、装置、电子设备以及存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备以及存储介质。



背景技术:

目前,随着智能终端制造技术的进步,智能终端上设置有相机模组以供用户拍照,其中,智能终端上安装广角摄像头较为普遍。其中,广角镜头相机与传统镜头相机相比,具有更大的视场角(fieldofvision,fov),但广角镜头畸变较大,图像边缘会产生严重失真。

相关技术中,为了补偿广角摄像头拍摄的图像的畸变,需要对图像进行畸变校正处理。当前对图像进行畸变校正处理,是对整体拍摄图像进行畸变校正处理,存在处理效率低的问题。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

本申请第一方面实施例提出了一种图像处理方法,包括:

获取拍摄图像;

识别所述拍摄图像中的主体人物;

若识别出所述主体人物,则确定所述主体人物的畸变程度;

根据所述主体人物的畸变程度,确定是否对所述拍摄图像中的人像区域进行去畸变处理。

作为本申请实施例的第一种可能的情况,所述识别所述拍摄图像中的主体人物之后,还包括:

若未识别出所述主体人物,则查询所述拍摄图像中所述人像区域的个数;

所述人像区域的个数大于或等于第一阈值,则统计所述人像区域呈现的人脸中正脸的占比;

若所述正脸的占比大于第二阈值,则确定对所述拍摄图像中的人像区域去畸变处理;

若所述正脸的占比小于或等于大于第二阈值,则确定无需对所述拍摄图像中的人像区域去畸变处理。

作为本申请实施例的第二种可能的情况,所述查询所述拍摄图像中所述人像区域的个数之后,还包括:

所述人像区域的个数小于所述第一阈值,则确定无需对所述拍摄图像中的人像区域去畸变处理。

作为本申请实施例的第三种可能的情况,所述识别所述拍摄图像中的主体人物,包括:

对所述拍摄图像进行人脸识别;

对每一个人脸分别确定人脸尺寸、人脸旋转角度和人脸清晰程度;

将所述人脸尺寸、人脸旋转角度和人脸清晰程度均满足设定条件的人脸作为所述拍摄图像中的主体人物。

作为本申请实施例的第四种可能的情况,所述确定所述主体人物的畸变程度,包括:

根据所述主体人物在所述拍摄图像中的位置,确定所述主体人物的视角fov;

若确定fov小于预定角度阈值,确定所述主体人物无畸变;

若确定所述fov大于或等于所述角度阈值,根据所述主体人物的成像轮廓预测真实轮廓;

根据所述成像轮廓与所述真实轮廓之间的差异度,确定所述主体人物的畸变程度。

作为本申请实施例的第五种可能的情况,所述确定对所述拍摄图像中的人像区域去畸变处理之后,还包括:

识别所述拍摄图像中的直线线段;

根据所述拍摄图像中的直线线段对所述拍摄图像中的人像区域去畸变,以保持所述直线线段在去畸变前后形态相同。

作为本申请实施例的第六种可能的情况,所述识别所述拍摄图像中的直线线段,包括:

根据所述拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定多个边缘点;

对所述多个边缘点拟合,得到多条初始直线段;其中,每一条初始直线段是对梯度方向相似的边缘点拟合得到的;

对所述多条初始直线段合并,得到所述拍摄图像中的直线线段。

作为本申请实施例的第七种可能的情况,所述对所述多个边缘点拟合,得到多条初始直线段,包括:

根据所述多个边缘点中梯度方向相似的边缘点,确定多个集合;其中,同一集合中的边缘点梯度方向相似;

对每一个集合,对相应集合中的边缘点拟合,得到一条初始直线段。

作为本申请实施例的第八种可能的情况,所述根据所述多个边缘点中梯度方向相似的边缘点,确定多个集合,包括:

从未添加到任一集合的边缘点中确定初始的参考点;

查询与所述参考点之间梯度方向差值小于角度阈值,且与所述参考点相邻的边缘点;

将查询到的边缘点和所述参考点添加至同一集合中;

若所述同一集合中各边缘点的梯度方向离散程度小于或等于设定离散程度,则将所述查询到的边缘点作为更新的参考点,以重复执行查询与所述参考点之间梯度方向差值小于角度阈值,且与所述参考点相邻的边缘点,将查询到的边缘点和所述参考点添加至相应集合中的步骤,直至相应集合中各边缘点的梯度方向离散程度大于所述设定离散程度。

本申请实施例的图像处理方法,通过获取拍摄图像,识别拍摄图像中的主体人物,若识别出主体人物,则确定主体人物的畸变程度,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。由此,通过仅对拍摄图像中的畸变程度较大的主体人物进行去畸变处理,从而最大程度的保留拍摄图像的原始状态,降低了图像处理的运算量,有利于提高拍摄图像去畸变处理的效率。

本申请第二方面实施例提出了一种图像处理装置,包括:

获取模块,用于获取拍摄图像;

识别模块,用于识别所述拍摄图像中的主体人物;

确定模块,用于若识别出所述主体人物,则确定所述主体人物的畸变程度;

处理模块,用于根据所述主体人物的畸变程度,确定是否对所述拍摄图像中的人像区域进行去畸变处理。

本申请实施例的图像处理装置,通过获取拍摄图像,识别拍摄图像中的主体人物,若识别出主体人物,则确定主体人物的畸变程度,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。由此,通过仅对拍摄图像中的畸变程度较大的主体人物进行去畸变处理,从而最大程度的保留拍摄图像的原始状态,降低了图像处理的运算量,有利于提高拍摄图像去畸变处理的效率。

本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述实施例中所述的图像处理方法。

本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例中所述的图像处理方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例提供的第一种图像处理方法的流程示意图;

图2为本申请实施例提供的第二种图像处理方法的流程示意图;

图3为本申请实施例提供的第三种图像处理方法的流程示意图;

图4为本申请实施例提供的第四种图像处理方法的流程示意图;

图5为本申请实施例提供的第五种图像处理方法的流程示意图;

图6为本申请实施例提供的一种图像处理方法的示例图;

图7为本申请实施例提供的第六种图像处理方法的流程示意图;

图8为本申请实施例提供的一种图像处理装置的结构示意图;

图9是根据本申请一个实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

相关技术中,对拍摄图像进行去畸变处理时,通常对整体的拍摄图像进行校正,从而导致整个去畸变过程运算量较大的技术问题。

针对相关技术中的技术问题,本申请提出了一种图像处理方法,通过获取拍摄图像,识别拍摄图像中的主体人物,若识别出主体人物,则确定主体人物的畸变程度,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。由此,通过仅对拍摄图像中的畸变主体人物进行去畸变处理,从而最大程度的保留拍摄图像的原始状态,降低了图像处理的运算量,有利于提高拍摄图像去畸变处理的效率。

下面参考附图描述本申请实施例的图像处理方法、装置、电子设备以及存储介质。

图1为本申请实施例提供的第一种图像处理方法的流程示意图。

本申请实施例以该基于图像的图像处理方法被配置于图像处理装置中来举例说明,该图像处理装置可以应用于任一电子设备中,以使该电子设备可以执行图像处理功能。

其中,电子设备可以为个人电脑(personalcomputer,简称pc)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统的硬件设备。

如图1所示,该图像处理方法包括以下步骤:

步骤101,获取拍摄图像。

本申请实施例中,可以通过设置于电子设备的图像传感器采集得到拍摄图像。

作为一种可能的情况,电子设备可以包括可见光图像传感器,可以基于电子设备中的可见光图像传感器采集拍摄图像。具体地,可见光图像传感器可以包括可见光摄像头,可见光摄像头可以捕获由成像对象反射的可见光进行成像。

作为另一种可能的情况,本申请实施例中,电子设备还可以包括结构光图像传感器,可以基于电子设备中的结构光图像传感器采集拍摄图像。可选地,结构光图像传感器可以包括镭射灯以及激光摄像头。脉冲宽度调制(pulsewidthmodulation,简称pwm)可以调制镭射灯以发出结构光,结构光照射至成像对象,激光摄像头可以捕获由成像对象反射的结构光进行成像,得到成像对象对应的结构光图像。

需要说明的是,设置于电子设备的图像传感器,不限于上述的可见光传感器和结构光传感器,还可以为其他类型的图像传感器,例如深度传感器,等等,本申请中对此不做限制。

步骤102,识别拍摄图像中的主体人物。

本申请实施例中,在获取到拍摄图像后,进一步的识别拍摄图像中的主体人物。

作为一种可能的实现方式,可以将拍摄图像输入已经经过训练的主体人物识别模型中,以识别出拍摄图像中的主体人物。

作为另一种可能的实现方式,可以首先对拍摄图像进行人脸识别,再对识别到的每一个人脸分别确定人脸尺寸、人脸旋转角度和人脸清晰程度。进而,将人脸尺寸、人脸旋转角度和人脸清晰程度均满足设定条件的人脸作为拍摄图像中的主体人物。

具体地,可以采用基于卷积神经网络(convolutionalneuralnetwork,简称cnn)的人脸识别模型对拍摄图像进行人脸识别,以识别得到拍摄图像中的每一个人脸,并确定每一个人脸的人脸尺寸和位置。其中,人脸识别模型,是采用大量的训练样本图像进行训练得到的。

本申请实施例中,对拍摄图像进行人脸识别,识别得到每一个人脸的人脸尺寸和人脸位置后,对每一个人脸进行人脸关键点检测,以确定人脸的关键点,进而确定人脸的关键区域位置。其中,人脸关键点检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸图像,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等。例如,可以对每一个人脸进行106点的人脸关键点检测,以得到人脸的五官和轮廓。

再者,确定出每一个人脸的关键点后,根据各个人脸的关键点可以计算出每一个人脸的人脸旋转角度。其中,人脸旋转角度,是指脸部朝向信息,如脸朝向为正面或者侧面。

作为一种可能的实现方式,可以根据每一个人脸的关键点计算出人脸的旋转参数(roll,pitch,yaw),从而确定各人脸的旋转角度。

本申请实施例中,对每一个人脸确定人脸清晰程度时,可以首先对拍摄图像中识别到的人脸进行剪裁,得到每一个人脸图像。进而,对每一个人脸图像进行高斯模糊去噪,并转换为灰度图像,在各灰度图像上利用拉普拉斯算子滤波,统计每一个灰度图像中各灰度级的个数,得到各灰度图像的灰度直方图。将每一个灰度直方图进行归一化映射到0至255的范围内,并求映射后的各灰度图像的像素值的均值。若均值大于设定阈值,则确定该人脸图像中人脸清晰;若均值小于或等于设定阈值,则确定该人脸图像中人脸模糊。

本申请实施例中,确定出每一个人脸的人脸尺寸、人脸旋转角度和人脸清晰程度后,将人脸尺寸、人脸旋转角度和人脸清晰程度均满足设定条件的人脸作为拍摄图像中的主体人物。

例如,人脸尺寸小于设定的尺寸,可能是人脸距离镜头较远,可以将该人脸认为是图像背景。还例如,确定的人脸旋转角度大于设定角度阈值,可能拍摄的是侧脸,也可以将该人脸认为是图像背景。还例如,人脸比较模糊,并且人脸清晰程度小于设定清晰度阈值时,可以将该人脸认为为图像背景。

步骤103,若识别出主体人物,则确定主体人物的畸变程度。

可以理解的是,通过设置于电子设备的图像传感器采集图像时,由于图像传感器性能误差,如摄像头的焦距变动、镜头光学畸变等,成像时的透视误差,等等,使得采集的拍摄图像不可避免的存在畸变。

本申请实施例中,从拍摄图像中识别出主体人物后,需要进一步确定主体人物的畸变程度,以根据主体人物的畸变程度,确定是否进一步对主体人物进行去畸变处理。

作为一种可能的实现方式,可以根据各主体人物在拍摄图像中的位置,确定各主体人物相对镜头光轴的偏移角度,进而根据各主体人物的偏移角度确定主体人物是否存在畸变现象。若偏移角度小于角度阈值,例如60°,确定主体人物无畸变。若偏移角度大于或等于角度阈值,则进一步根据主体人物的成像轮廓预测真实轮廓,以比较成像轮廓与真实轮廓之间的差异程度。若成像轮廓与真实轮廓之间的差异较大,则可以确定该主体人物的畸变程度较严重;若成像轮廓与真实轮廓之间的差异较小,或者基本无差异,则可以确定该主体人物无畸变。

步骤104,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。

本申请实施例中,确定拍摄图像中各主体人物的畸变程度后,可以根据主体人物的畸变程度,确定是否需要对拍摄图像中的人像区域进行去畸变处理。

作为一种可能的实现方式,可以根据设定的畸变程度阈值,将确定的各主体人物的畸变程度与畸变程度阈值进行比较。若主体人物的畸变程度大于畸变程度阈值,则对拍摄图像中该主体人物对应的人像区域进行去畸变处理;若主体人物的畸变程度小于畸变程度阈值,则无需对拍摄图像中该主体人物对应的人像区域进行去畸变处理;

本申请实施例中,在对拍摄图像中的人像区域进行去畸变处理时,可以首先将人像区域划分为人脸区域和身体区域,进而根据预设的初始投影网格对人像区域校正计算,获取与人脸区域对应的第一校正尺寸值和与身体区域对应的第二校正尺寸值,进一步的,在第一校正尺寸值和第二校正尺寸值中,确定满足预设条件的目标校正尺寸值,以根据目标校正尺寸值对图像中的人像区域进行校正处理,以得到去畸变后的拍摄图像。

在获取与人脸区域对应的第一校正尺寸值和与身体区域对应的第二校正尺寸值时,作为一种可能的实现方式,可以根据人像区域中像素点的坐标构建人像区域中的原始网格,预设的初始投影网格对所述人像区域校正计算,获取与人脸区域对应的第一变换网格以及与身体区域对应的第二变换网格,计算第一变换网格与原始网格的尺寸比值获取第一校正尺寸值,并计算第二变换网格与所述原始网格的尺寸比值获取第二校正尺寸值。

在获取与人脸区域对应的第一校正尺寸值和与身体区域对应的第二校正尺寸值时,作为另一种可能的实现方式,可以通过获取人像区域中每个像素点坐标的深度值,将人像区域中每个像素点的像素坐标和深度值输入初始投影网格,获取与每个像素点对应的映射像素坐标。进一步的,计算每个像素点的映射像素坐标和对应的像素坐标的像素差值;计算人脸区域中所有像素点对应的像素差值的均值,获取第一校正尺寸值;计算身体区域中所有像素点对应的像素差值的均值,获取第二校正尺寸值。

本申请实施例的图像处理方法,通过获取拍摄图像,识别拍摄图像中的主体人物,若识别出主体人物,则确定主体人物的畸变程度,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。由此,通过仅对拍摄图像中的畸变主体人物进行去畸变处理,从而最大程度的保留拍摄图像的原始状态,降低了图像处理的运算量,有利于提高拍摄图像去畸变处理的效率。

在上述实施例的基础上,在上述步骤102中识别拍摄图像中的主体人物之后,可以通过人像区域中人脸中正脸的占比,确定是否对拍摄图像中的人像区域进行去畸变处理。下面结合图2对上述过程进行详细介绍,图2为本申请实施例提供的第二种图像处理方法的流程示意图。

如图2所示,该图像处理方法可以包括以下步骤:

步骤201,获取拍摄图像。

步骤202,识别拍摄图像中的主体人物。

本申请实施例中,步骤201和步骤202的实现过程,可以参见上述实施例中步骤101和步骤102的实现过程,在此不再赘述。

步骤203,若未识别出主体人物,则查询拍摄图像中人像区域的个数。

本申请实施例中,在对拍摄图像中的主体人物进行识别时,可能存在未识别出主体人物的情况。这种情况下,查询拍摄图像中人像区域的个数。

步骤204,判断人像区域的个数是否大于或等于第一阈值。

本申请实施例中,通过判断人像区域的个数是否大于或等于第一阈值,以确定是否对拍摄图像中的人像进行去畸变处理。

步骤205,人像区域的个数小于第一阈值,则确定无需对拍摄图像中的人像区域去畸变处理。

在一种可能的情况下,拍摄图像中人像区域的个数较少,人像区域的个数小于第一阈值,这种情况下,可以确定拍摄图像为风景照,确定无需对拍摄图像中的人像区域去畸变处理。

可以理解为,在电子设备采集图像时,拍摄的对象为自然风景,但是拍摄图像中存在人像区域,这种情况下,无需对拍摄图像中的人像区域进行去畸变处理。

步骤206,人像区域的个数大于或等于第一阈值,则统计人像区域呈现的人脸中正脸的占比。

其中,人脸中正脸的占比,是指正脸在人像区域中呈现的人脸中所占的比例。例如,人像区域中呈现的人脸一共有15个,正脸的个数为13个,则正脸的占比为13/15。

在一种可能的情况下,拍摄图像中人像区域的个数较多,人像区域的个数大于或等于第一阈值,这种情况下,可能是多人进行合影得到的拍摄图像,也可能是随拍时拍摄得到的拍摄图像。

因此,需要进一步统计人像区域呈现的人脸中正脸的占比,以根据人脸中正脸的占比,确定拍摄场景,以确定是否对拍摄图像中的人像区域进行去畸变处理。

步骤207,判断正脸的占比是否大于第二阈值。

本申请实施例中,统计得到人像区域呈现的人脸中正脸的占比后,将正脸的占比与设定的第二阈值进行比较,以根据比较结果确定是否对拍摄场景中的人像区域进行去畸变处理。

步骤208,若正脸的占比大于第二阈值,则确定对拍摄图像中的人像区域去畸变处理。

在一种可能的场景下,统计人像区域呈现的人脸中正脸的占比大于第二阈值,这种情况下,可以将拍摄场景确定为多人合影,因此,需要对拍摄场景中的人像区域进行去畸变处理。

步骤209,若正脸的占比小于或等于大于第二阈值,则确定无需对拍摄图像中的人像区域去畸变处理。

在一种可能的场景下,统计人像区域呈现的人脸中正脸的占比小于或等于第二阈值,这种情况下,可以将拍摄场景确定为随拍,无需对拍摄图像中的人像区域去畸变处理。

本申请实施例的图像处理方法,通过获取拍摄图像,识别拍摄图像中的主体人物,若未识别出主体人物,则查询拍摄图像中人像区域的个数,人像区域的个数大于或等于第一阈值,则统计人像区域呈现的人脸中正脸的占比,若正脸的占比大于第二阈值,则确定对拍摄图像中的人像区域去畸变处理;若正脸的占比小于或等于大于第二阈值,则确定无需对拍摄图像中的人像区域去畸变处理。由此,在拍摄图像中未识别出主体人物时,根据人像区域呈现的人脸中正脸的占比是否大于第二阈值,来触发是否对人像区域进行去畸变处理,从而有效地规避了风景、随拍等不需要图像校正的场景,最大程度的保留图片的原始状态。

在上述实施例的基础上,在步骤103中确定主体人物的畸变程度时,还可以根据主体人物的视角fov的大小来确定主体人物的畸变程度。下面结合图3对上述过程进行详细介绍,图3为本申请实施例提供的第三中图像处理方法的流程示意图。

如图3所述,上述步骤103还可以包括以下步骤:

步骤301,根据主体人物在拍摄图像中的位置,确定主体人物的视角fov。

其中,主体人物的视角fov,是指主体人物相对于摄像头光轴的偏移角度。

本申请实施例中,识别拍摄图像中的主体人物后,根据主体人物在拍摄图像中的位置,确定主体人物的fov。

作为一种可能的实现方式,采用人脸识别模型对拍摄图像进行人脸识别,以识别得到拍摄图像中的主体人物的位置后,建立主体人物映射到成像图中的三维模型,根据坐标点(x,y)的坐标值,计算该主体人物相对于摄像头光轴的偏移角度。

步骤302,判断fov是否小于预定角度阈值。

其中,角度阈值,为预先设定的角度值,例如,可以设定角度阈值为60°。

本申请实施例中,根据识别拍摄图像得到的各主体人物在拍摄图像中的位置,确定各主体人物的fov之后,判断主体人物的fov是否小于角度阈值。

步骤303,若确定fov小于角度阈值,确定主体人物无畸变。

在一种可能的场景下,若确定主体人物的fov小于角度阈值,这种情况下,确定主体人物无畸变,无需对主体人物进行去畸变处理。

步骤304,若确定fov大于或等于角度阈值,根据主体人物的成像轮廓预测真实轮廓。

在一种可能的情况下,若确定主体人物的fov大于或等于角度阈值,这种情况下,需要进一步判断主体人物的畸变程度,以根据主体人物的畸变程度确定是否对该主体人物对应的人像区域进行去畸变处理。

本申请实施例中,确定主体人物的fov大于或等于角度阈值,根据主体人物的成像轮廓预测真实轮廓。具体地,通过对拍摄图像进行关键点检测,得到各主体人物的成像轮廓后,根据保形投影方法计算得到主体人物的真实轮廓。

步骤305,根据成像轮廓与真实轮廓之间的差异度,确定主体人物的畸变程度。

本申请实施例中,在根据主体人物的成像轮廓预测相应主体人物的真实轮廓后,根据成像轮廓与真实轮廓之间的差异度,确定主体人物的畸变程度。

在一种可能的情况下,主体人物的成像轮廓与真实轮廓之间的差异度较大,可以确定主体人物的畸变程度较大。如,主体人物的整体尺寸变化较大,或者人脸关键点的偏移程度较大。

在另一种可能的情况下,主体人物的成像轮廓与真实轮廓之间的差异度较小,可以确定主体人物的畸变程度较小。

本申请实施例的图像处理方法,通过根据主体人物在拍摄图像中的位置,确定主体人物的视角fov,若确定fov小于角度阈值,确定主体人物无畸变,若确定fov大于或等于角度阈值,根据主体人物的成像轮廓预测真实轮廓;根据成像轮廓与真实轮廓之间的差异度,确定主体人物的畸变程度。由此,通过主体人物的fov与角度阈值进行比较,在fov大于或等于角度阈值时,根据主体人物的成像轮廓与真实轮廓之间的差异度,确定主体人物的畸变程度,从而根据主体人物的畸变程度确定是否对主体人物对应的人像区域进行去畸变处理,通过减少对背景的处理以及减少人像区域处理的个数,从而有利于提高图像处理的效率。

在上述实施例的基础上,在对拍摄图像中的人像区域去畸变处理之后,还可以识别拍摄图像中的直线线段,根据拍摄图像中的直线线段,对拍摄图像中的人像区域去畸变,以保持直线线段在去畸变前后形态相同,以提高人像区域去畸变的准确度。下面结合图4对上述过程进行详细介绍,图4为本申请实施例提供的第四种图像处理方法的流程示意图。

如图4所示,该图像处理方法,还可以包括以下步骤:

步骤401,识别拍摄图像中的直线线段。

本申请实施例中,获取到拍摄图像后,可以进一步识别得到拍摄图像中的直线线段。

作为一种可能的实现方式,可以采用霍夫变换识别拍摄图像中的直线线段。其中,霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。霍夫变换主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从图像中检测直线线段。

需要说明的是,本申请中对识别拍摄图像中直线线段的方法不做限制,也可以为其他直线检测方法。

步骤402,根据拍摄图像中的直线线段对拍摄图像中的人像区域去畸变,以保持直线线段在去畸变前后形态相同。

本申请实施例中,识别得到拍摄图像中的直线线段后,可以根据拍摄图像中的直线线段,对拍摄图像中的人像区域去畸变,以保持直线线段在去畸变前后形态相同。

可以理解的是,三维空间中的直线投影到图像平面上仍然为直线,但是,由于图像传感器性能的影响导致三维空间中的直线投影到平面上可能为曲线。因此,需要根据拍摄图像中的直线线段对拍摄图像中的人像区域去畸变,以使得三维空间中的直线线段投影到平面上后仍为形态一致的直线线段。

本申请实施例的图像处理方法,通过识别拍摄图像中的直线线段,根据拍摄图像中的直线线段,对拍摄图像中的人像区域去畸变,以保持直线线段在去畸变前后形态相同。由此,通过根据拍摄图像中的直线线段对人像区域进行去畸形处理,确保直线线段在去畸变前后形态相同,从而在最大程度上保留了拍摄图像的原始状态。

作为一种可能的实现方式,在上述步骤401中,还可以根据拍摄图像中各像素点的梯度值和像素值,从各像素点中确定多个边缘点,对多个边缘点拟合,得到各初始直线段,对多条初始直线段合并,得到拍摄图像中的直线线段。下面结合图5对上述过程进行详细介绍,图5为本申请实施例提供的第五种图像处理方法的流程示意图。

如图5所示,上述步骤401还可以包括以下步骤:

步骤501,根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定多个边缘点。

本申请实施例中,拍摄图像中各像素点的梯度值包括各像素点的梯度和梯度方向。当图像中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像。图像的梯度相当于两个相邻像素之间的差值,图像中某一点的梯度方向即通过计算该点与其8邻域点的梯度角,梯度角最大即为梯度方向。其中,8邻域点为某个点的上、下、左、右、左上、右上、左下、右下的8个点。

下面结合图6对像素点的梯度、梯度角以及梯度方向进行详细说明,可以通过sobel算子具体解释检测图像中各像素点的梯度、梯度角以及梯度方向。其中,sobel算子是像素图像边缘检测中最重要的算子之一,在机器学习、数字媒体、计算机视觉等信息科技领域起着举足轻重的作用。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。

如图6所示,对于像素点a,用sobel算子首先计算出gx,gy,然后计算出像素点a的梯度角θ=arctan(gy/gx),梯度方向即检测图像中灰度增大的方向,其中梯度方向的梯度夹角大于平坦区域的梯度夹角。如图6所示,灰度值增加的方向梯度夹角大,像素点a的梯度方向为像素点a与其8邻域点的梯度角最大的方向。

本申请实施例中,获取到拍摄图像后,可以对拍摄图像进行边缘检测,以确定多个边缘点。边缘检测的算法主要是基于图像强度的一阶和二阶导数,但是导数通常对噪声很敏感,因此首先要对检测图像进行滤波,以去除拍摄图像中的噪声。其中,常见的滤波方法有高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核,然后基于高斯核函数对图像灰度矩阵的每一点进行加权求和。对检测图像进行高斯滤波时的高斯核半径可根据检测图像的尺寸调整,例如,高斯核半径可以设置为5。

其中,高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波通过高斯核对图像的逐个像素进行卷积,从而得到每个像素的值。在卷积的过程中,利用周围像素的值,将距离作为权重计算卷积核中心位置的像素。高斯滤波的具体操作是:用一个大小为2*n+1的模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

由此,通过对拍摄图像进行高斯滤波,避免了图像的噪声影响各像素点的梯度方向,继而影响直线段检测精度的技术问题,从而提高了直线段的检测精度。

本申请实施例中的边缘检测方法,包括但不限于canny边缘检测方法、prewitt边缘检测方法,等等。

作为一种可能的实现方式,确定拍摄图像中各像素点的梯度值和相邻像素点的像素值后,针对每一个像素点,将各像素点的梯度值和第一梯度阈值进行比较,在一种可能的情况下,若某一像素点的梯度值大于第一梯度阈值,则查询在梯度方向上与相应像素点相邻的第一相邻像素点;若相应像素点与第一相邻像素点的像素值之差大于第二梯度阈值,则确定相应像素点为边缘点。

作为一种示例,以第一相邻像素点为各像素点8邻域内的各像素点为例,针对检测图像中的每一个像素点,若梯度值大于第一梯度阈值,则将相应像素点的梯度值与8邻域内像素点点的梯度值进行差值计算,若在其梯度方向上与8邻域内像素点的梯度值的差值均大于第二梯度阈值,则确定相应像素点为边缘点。

需要说明的是,从增强处理后的拍摄图像的各像素点中确定多个边缘点时,可能会将一些噪点确定为边缘点,因此,需要进一步的对各边缘点进行筛选,以筛选掉图像中的噪点,从而有利于提高直线段检测的精确度。

本申请实施例中,从各像素点中确定多个边缘点之后,针对每一个边缘点,查询在梯度方向上与相应边缘点相邻的第二相邻像素点,若相应边缘点与第二相邻像素点的梯度值之差大于第三梯度阈值,则保留相应的边缘点,若相应边缘点与第二相邻像素点的梯度值之差小于或等于第三梯度阈值,则筛选掉相应的边缘点。由此,通过对边缘点的筛选,以筛选掉图像中的噪点,从而有利于提高直线检测方法的识别率。

步骤502,对多个边缘点拟合,得到多条初始直线段;其中,每一条初始直线段是对梯度方向相似的边缘点拟合得到的。

本申请实施例中,根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定出多个边缘点之后,由于多个边缘点为多个离散的点,需要对多个边缘点进行拟合,得到多条初始直线段。

需要说明的是,每一条初始直线段可以是对梯度方向相似的边缘点拟合得到的。具体地,根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,确定多个边缘点后,将多个边缘点中梯度方向相似的边缘点,确定为一个集合。进而,可以将多个边缘点划分为多个集合。其中,同一集合中的边缘点梯度方向相似。针对各个集合,对相应集合中的边缘点拟合,得到各初始直线段。

步骤503,对多条初始直线段合并,得到拍摄图像中的直线线段。

本申请实施例中,由于图像中噪声的影响,可能存在拍摄图像中边缘线段被切断,导致图像边缘不连续。因此,需对多个边缘点拟合得到的多条初始直线段进行合并,以得到拍摄图像中的目标直线线段。

本申请实施例的图像处理方法,通过根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定多个边缘点,对多个边缘点拟合,得到多条初始直线段;其中,每一条初始直线段是对梯度方向相似的边缘点拟合得到的,对多条初始直线段合并,得到检测图像中的目标直线线段。该方法通过对拍摄图像中各像素点中确定的多个边缘点进行拟合,得到各初始直线段,进而对多条初始直线段进行合并得到检测图像中的目标直线段,由于不需要对图像中各像素点进行重复处理,因此能够快速的检测出图像中的直线段,从而提高了图像中的直线检测速度。

在上述实施例的基础上,在上述步骤502中,对多个边缘点拟合,得到多条初始直线段时,还可以首先根据多个边缘点中梯度方向相似的边缘点,确定多个集合,进而,针对每一个集合,对相应集合中的边缘点拟合,得到一条初始直线段。下面结合图7对上述过程进行详细介绍,图7为本申请实施例提供的第六种图像处理方法的流程示意图。

如图7所示,上述步骤502还可以包括以下步骤:

步骤601,根据多个边缘点中梯度方向相似的边缘点,确定多个集合;其中,同一集合中的边缘点梯度方向相似。

本申请实施例中,根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定多个边缘点后,将边缘点梯度方向相似的边缘点,划分到同一个集合中,以得到多个集合。

作为一种可能的实现方式,针对多个边缘点,从未添加到任一集合的边缘点中确定一边缘点为初始的参考点,查询与参考点之间梯度方向差值小于角度阈值,且与参考点相邻的边缘点,将查询到的边缘点和参考点添加至同一集合中。

本申请实施例中,从各像素点中确定多个边缘点后,可以根据各边缘点的梯度值大小对各边缘点进行排序,在未添加到任一集合的边缘点中,可以将梯度最大的边缘点作为初始的参考点。与参考点相邻的边缘点,可以为初始的参考点8邻域内的边缘点,即参考点的上、下、左、右、左上、右上、左下、右下的8个点。

例如,可以计算参考点的梯度角与8邻域内的各边缘点的梯度方向之间的差值,假设参考点的上方和左上方的边缘点与参考点之间的梯度方向差值小于角度阈值,此时,可以将上方和左上方的边缘点与参考点一起添加至同一集合中。

本申请实施例中,若同一集合中各边缘点的梯度方向离散程度小于或等于设定离散程度,则将查询到的边缘点作为更新的参考点,以重复执行查询与参考点之间梯度方向差值小于角度阈值,且与参考点相邻的边缘点,将查询到的边缘点和参考点添加至相应集合中的步骤,直至相应集合中各边缘点的梯度方向离散程度大于设定离散程度。

步骤602,对每一个集合,对相应集合中的边缘点拟合,得到一条初始直线段。

本申请实施例中,根据多个边缘点中梯度方向相似的边缘点,确定多个集合后,对每一个集合中的多个边缘点进行拟合,以得到一条初始直线段。

本申请实施例中,对对每一个集合中的多个边缘点进行拟合,就是把每一个集合中的多个边缘点,用一条直线段连接起来,以得到一条初始直线段。

本申请实施例的图像处理方法,通过根据多个边缘点中梯度方向相似的边缘点,确定多个集合;其中,同一集合中的边缘点梯度方向相似,对每一个集合,对相应集合中的边缘点拟合,得到一条初始直线段。由此,通过对每一个集合中的边缘点进行拟合,得到相应集合的初始直线段,实现了对离散的边缘点进行结合的操作。

为了实现上述实施例,本申请还提出一种图像处理装置。

图8为本申请实施例提供的一种图像处理装置的结构示意图。

如图8所示,该图像处理装置700,可以包括:获取模块710、识别模块720、确定模块730以及处理模块740。

其中,获取模块710,用于获取拍摄图像。

识别模块720,用于识别拍摄图像中的主体人物。

确定模块730,用于若识别出主体人物,则确定主体人物的畸变程度。

处理模块740,用于根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。

作为一种可能的情况,该图像处理装置700,还可以包括:

查询模块,用于若未识别出主体人物,则查询拍摄图像中人像区域的个数。

统计模块,用于人像区域的个数大于或等于第一阈值,则统计人像区域呈现的人脸中正脸的占比。

确定模块730,还用于若正脸的占比大于第二阈值,则确定对拍摄图像中的人像区域去畸变处理。

确定模块730,还用于若正脸的占比小于或等于大于第二阈值,则确定无需对拍摄图像中的人像区域去畸变处理。

作为另一种可能的情况,确定模块730,还可以用于:

人像区域的个数小于第一阈值,则确定无需对拍摄图像中的人像区域去畸变处理。

作为另一种可能的情况,识别模块720,还可以用于:

对拍摄图像进行人脸识别;对每一个人脸分别确定人脸尺寸、人脸旋转角度和人脸清晰程度;将人脸尺寸、人脸旋转角度和人脸清晰程度均满足设定条件的人脸作为拍摄图像中的主体人物。

作为另一种可能的情况,确定模块730,还可以用于:

根据主体人物在所述拍摄图像中的位置,确定主体人物的视角fov;

若确定fov小于预定角度阈值,确定主体人物无畸变;

若确定fov大于或等于角度阈值,根据主体人物的成像轮廓预测真实轮廓;

根据成像轮廓与真实轮廓之间的差异度,确定主体人物的畸变程度。

作为另一种可能的情况,该图像处理装置700,还可以包括:

线段识别模块,用于识别拍摄图像中的直线线段。

去畸变模块,用于根据拍摄图像中的直线线段对拍摄图像中的人像区域去畸变,以保持直线线段在去畸变前后形态相同。

作为另一种可能的情况,线段识别模块,还可以用于:

确定单元,用于根据拍摄图像中各像素点的梯度值和相邻像素点的像素值,从各像素点中确定多个边缘点。

拟合单元,用于对多个边缘点拟合,得到多条初始直线段;其中,每一条初始直线段是对梯度方向相似的边缘点拟合得到的。

合并单元,用于对多条初始直线段合并,得到拍摄图像中的直线线段。

作为另一种可能的情况,拟合单元,还可以用于:

根据多个边缘点中梯度方向相似的边缘点,确定多个集合;其中,同一集合中的边缘点梯度方向相似;对每一个集合,对相应集合中的边缘点拟合,得到一条初始直线段。

作为另一种可能的情况,拟合单元,还可以用于:

从未添加到任一集合的边缘点中确定初始的参考点;

查询与参考点之间梯度方向差值小于角度阈值,且与参考点相邻的边缘点;

将查询到的边缘点和参考点添加至同一集合中;

若同一集合中各边缘点的梯度方向离散程度小于或等于设定离散程度,则将查询到的边缘点作为更新的参考点,以重复执行查询与参考点之间梯度方向差值小于角度阈值,且与参考点相邻的边缘点,将查询到的边缘点和参考点添加至相应集合中的步骤,直至相应集合中各边缘点的梯度角离散程度大于设定离散程度。

需要说明的是,前述对图像处理方法实施例的解释说明也适用于该实施例的图像处理装置,此处不再赘述。

本申请实施例的图像处理装置,通过获取拍摄图像,识别拍摄图像中的主体人物,若识别出主体人物,则确定主体人物的畸变程度,根据主体人物的畸变程度,确定是否对拍摄图像中的人像区域进行去畸变处理。由此,通过仅对拍摄图像中的畸变主体人物进行去畸变处理,从而最大程度的保留拍摄图像的原始状态,降低了图像处理的运算量,有利于提高拍摄图像去畸变处理的效率。

为了实现上述实施例,本申请还提出一种电子设备,图9是根据本申请一个实施例的电子设备的结构示意图,如图9所示,电子设备110包括存储器111、处理器112及存储在存储器111上并可在处理器112上运行的计算机程序,所述处理器执行所述程序时,实现如上述实施例中所述的图像处理方法。

为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例中所述的图像处理方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1