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

文档序号:21323901发布日期:2020-06-30 20:57阅读:129来源:国知局
图像处理方法、装置、存储介质及电子设备与流程

本公开涉及图像处理技术领域,具体地,涉及一种图像处理方法、装置、存储介质及电子设备。



背景技术:

在日常生活中,越来越多的用户有美化图像的需求。比如,在阴天或雾霾天气下拍摄的图像,用户通常会将天空替换为蓝天,以提升图像的美化程度。

相关技术中,除去人工修图的方式,主要是在语义分割的基础上,融合卷积神经网络的图像高层特征和低层特征,然后训练出分类器模型,将图像中的天空和非天空像素进行分离,最后将分离后的天空像素替换为蓝天图像的对应像素,从而实现天空替换。但是,按照上述方式对图像中的建筑与天空进行分割时,由于周围环境的复杂性,建筑边缘处的分割不够精细,尤其是在建筑与天空的交界处经常出现难分割的问题,比如灰白天空和灰白墙体,从而导致分割后的建筑出现锯齿状或弯曲等与建筑实际边缘不符合的边缘特征,影响后续天空替换效果。



技术实现要素:

本公开的目的是提供一种图像处理方法、装置、存储介质及电子设备,以解决相关技术中的问题,提升划分图像区域的准确度,从而更加准确的实现图像区域的替换,更好地满足用户对于图像的美化需求。

为了实现上述目的,第一方面,本公开提供一种图像处理方法,所述方法包括:

确定原始图像中第一区域与第二区域之间的边缘过渡区域,得到第一图像;

对所述原始图像进行边缘检测,确定所述第一区域与所述第二区域之间的边缘线,得到第二图像;

将所述第一图像和所述第二图像进行叠加;

在叠加后的图像中,按照预设遍历路径进行像素点遍历,若在所述预设遍历路径上检测到边缘点,则停止遍历,并将所述预设遍历路径上已遍历的像素点确定为第一区域内的像素点,将所述预设遍历路径上未遍历的像素点确定为第二区域内的像素点。

可选地,所述边缘线包括互不相连的多条边缘线段,所述方法还包括:

对所述多条边缘线段进行边缘点填充,以使所述多条边缘线段连通成一条连贯的边缘线,得到第三图像;

将所述第一图像和所述第二图像进行叠加,包括:将所述第三图像和所述第二图像进行叠加。

可选地,所述对所述多条边缘线段进行边缘点填充,使得所述多条边缘线段连通成一条连贯的边缘线,得到第三图像,包括:

针对所述多条边缘线段,将任一所述边缘线段作为初始的目标边缘线段,并执行以下操作:

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段;

将所述目标边缘线段与满足所述预设条件的边缘线段进行边缘点填充,得到连通线段,并将所述连通线段确定为新的目标边缘线段,直到所述多条边缘线段连通成一条连贯的边缘线。

可选地,所述针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段,包括:

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段的第一预设范围内、距离所述目标边缘线段最近的边缘线段。

可选地,所述针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段,包括:

针对所述多条边缘线段中的每条边缘线段,根据所述边缘线段上的像素点拟合曲线;

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段第二预设范围内、且拟合曲线与所述目标边缘线段的拟合曲线存在交点的边缘线段。

可选地,所述确定原始图像中第一区域与第二区域之间的边缘过渡区域,包括:

对所述原始图像进行语义分割处理;

分别对语义分割后的图像进行图像膨胀处理和图像腐蚀处理,并将图像膨胀处理后的图像与图像腐蚀处理后的图像进行像素点差值计算,确定语义分割后的图像中第一区域与第二区域之间的过渡带区域。

可选地,所述在叠加后的图像中,按照预设遍历路径进行像素点遍历,包括:

在叠加后的图像中,去除与邻域内的其他边缘点灰度值不同的差异边缘点,得到第四图像;

在所述第四图像中,按照预设遍历路径进行像素点遍历。

可选地,所述预设遍历路径包括以下至少一者:向左行遍历、向右行遍历、向下列遍历、向上列遍历、从叠加后图像的左上角到右下角的斜向遍历、从叠加后图像的右上角到左下角的斜向遍历。

第二方面,本公开还提供一种图像处理装置,所述装置包括:

第一确定模块,被配置为确定原始图像中第一区域与第二区域之间的边缘过渡区域,得到第一图像;

第二确定模块,被配置为对所述原始图像进行边缘检测,确定所述第一区域与所述第二区域之间的边缘线,得到第二图像;

叠加模块,被配置为将所述第一图像和所述第二图像进行叠加;

遍历模块,被配置为在叠加后的图像中,按照预设遍历路径进行像素点遍历,当在所述预设遍历路径上检测到边缘点时,停止遍历,将所述预设遍历路径上已遍历的像素点确定为所述第一区域内的像素点,将所述预设遍历路径上未遍历的像素点确定为所述第二区域内的像素点。

第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。

第四方面,本公开还提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,被配置为执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。

通过上述技术方案,在将图像中建筑区域与其他区域进行划分的场景中,可以通过边缘检测得到建筑物与其他区域之间的平直边缘,避免图像处理后的建筑出现锯齿状或弯曲等与建筑实际边缘不符合的边缘特征,提升图像区域划分的准确性。另外,通过像素点遍历,可以将图像区域划分精确到像素级别,进一步提升图像区域划分的准确性,从而更加准确的实现图像区域的替换,更好地满足用户对于图像的美化需求。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是一待处理的原始图像;

图2是根据相关技术中的技术对图1所示的图像进行处理并进行图像区域替换后得到的图像;

图3是根据本公开一示例性实施例示出的一种图像处理方法的流程图;

图4是另一待处理的原始图像;

图5是根据相关技术中的语义分割技术对图4所示的图像进行处理后得到的语义分割结果图;

图6是根据本公开一示例性实施例中的图像处理方法对图5进行图像处理后得到的过渡带区域图;

图7是根据本公开一示例性实施例中的图像处理方法对图4进行边缘检测后得到的结果图;

图8是根据本公开一示例性实施例中的图像处理方法进行图像叠加后得到的结果示意图;

图9是根据本公开一示例性实施例示出的一种图像处理方法中对图4所示的图像进行处理并对天空区域替换像素后得到的结果图;

图10是根据本公开另一示例性实施例示出的一种图像处理方法的流程图;

图11是根据本公开另一示例性实施例示出的一种图像处理方法对图1所示的图像进行处理并对天空区域替换像素后得到的结果图;

图12是根据本公开一示例性实施例示出的一种图像处理装置的框图;

图13是根据本公开一示例性实施例示出的一种电子设备的框图;

图14是根据本公开另一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

在日常生活中,越来越多的用户有美化图像的需求。比如,在阴天或雾霾天气下拍摄的图像,用户通常会将天空替换为蓝天,以提升图像的美化程度。相关技术中,除去人工修图的方式,主要是在语义分割的基础上,融合卷积神经网络的图像高层特征和低层特征,然后训练出分类器模型,将图像中的天空和非天空像素进行分离,最后将分离后的天空像素替换为蓝天图像的对应像素,从而实现天空替换。但是,按照上述方式对图像中的建筑与天空进行分割时,由于周围环境的复杂性,建筑边缘处的分割不够精细,尤其是在建筑与天空的交界处经常出现难分割的问题,比如灰白天空和灰白墙体,从而导致分割后的建筑出现锯齿状或弯曲等与建筑实际边缘不符合的边缘特征,影响后续天空替换效果。

例如,图1是原始图像,图2是在语义分割的基础上,融合卷积神经网络的图像高层特征和低层特征,然后训练出分类器模型对图1所示的图像进行处理并进行天空替换后得到的图像。比对图1和图2可以看到,处理后的图像中建筑与天空之间的边缘出现了像素分类错误,导致原本平直的建筑边缘出现了缺口(如图2中虚线框20所示)。并且,由于建筑与天空的边缘中部的部分像素点被误分类为天空像素,因此在后续天空替换的过程中,将此部分属于建筑的像素点替换为天空像素,导致了像素点替换的错误,无法较好的满足用户对于图像的美化需求。

有鉴于此,本公开实施例提供一种图像处理方法、装置、存储介质及电子设备,以解决相关技术中的问题,提升划分图像区域的准确度,从而更加准确的实现图像区域的替换,更好地满足用户对于图像的美化需求。

首先说明,本公开实施例中的图像处理方法可以应用于比如照相机、摄像机、电脑、手机、pad等具有图像处理功能的电子设备,或者也可以应用于服务器,本公开实施例对此不作限定。其中,将该图像处理方法应用于服务器,则该服务器可以首先接收客户端发送的图像,然后按照本公开实施例的图像处理方法对接收到的图像进行处理。应当理解的是,本公开实施例中的图像可以是客户端的摄像头拍摄后保存到该客户端的图片,也可以是客户端从网络下载并保存的图片,还可以是在客户端保存的视频中截取的某一帧画面,等等,本公开实施例对此不作限定。

图3是根据本公开一示例性实施例示出的一种图像处理方法的流程图。参照图3,该图像处理方法可以包括:

步骤s301,确定原始图像中第一区域与第二区域之间的边缘过渡区域,得到第一图像。

步骤s302,对原始图像进行边缘检测,确定第一区域与第二区域之间的边缘线,得到第二图像。

步骤s303,将第一图像和第二图像进行叠加。

步骤s304,在叠加后的图像中,按照预设遍历路径进行像素点遍历,若在预设遍历路径上检测到边缘点,则停止遍历,并将预设遍历路径上已遍历的像素点确定为第一区域内的像素点,将预设遍历路径上未遍历的像素点确定为第二区域内的像素点。

示例地,原始图像如图1所示,该原始图像包括建筑区域和天空区域。如果要将天空区域进行替换,以得到蓝天背景的图像,实现图像美化效果,可以先对原始图像进行语义分割,比如可以将原始图像中的建筑作为第一目标对象、将天空等非建筑作为第二目标对象,进行语义分割,得到建筑对应的第一区域以及非建筑对应的第二区域。然后,可以执行步骤301至步骤304,对第一区域和第二区域进行精细划分,从而更加准确的实现天空区域的替换。

示例地,参见图11,按照本公开实施例中的方式对图1所示的原始图像进行处理并进行天空替换后,可以得到图11所示的区域划分结果图。参见图2和图11可知,通过本公开实施例中的方式,在将图像中建筑区域与其他区域进行划分的场景中,可以得到建筑区域与其他区域之间的平直边缘,避免图像处理后的建筑出现锯齿状或弯曲等与建筑区域实际边缘不符合的边缘特征,提升图像区域划分的准确性。另外,通过像素点遍历,可以将图像区域划分精确到像素级别,进一步提升图像区域划分的准确性,从而更加准确的实现图像区域的替换,更好地满足用户对于图像的美化需求。

为了使本领域技术人员更加理解本公开实施例提供的技术方案,下面对上述各步骤进行详细举例说明。

在可能的方式中,步骤301中确定原始图像中第一区域与第二区域之间的边缘过渡区域可以是:先对原始图像进行语义分割处理,然后分别对语义分割后的图像进行图像膨胀处理和图像腐蚀处理,并将图像膨胀处理后的图像与图像腐蚀处理后的图像进行像素点差值计算,确定语义分割后的图像中第一区域与第二区域之间的过渡带区域。

示例地,对原始图像进行语义分割处理可以是通过相关技术中的任一种语义分割方式对原始图像进行处理,本公开实施例对此不作限定。应当理解的是,在将图像中的建筑区域和其他图像区域进行划分的过程中,由于建筑区域在图像中的像素占比通常较大,因此可以在语义分割的过程中采取空洞卷积,以扩大池化的感受野,在较大的范围内进行像素特征提取,从而更加准确地进行语义分割。

另外应当理解的是,考虑到语义分割过程中,连续的下采样会降低特征映射的分辨率,并且随着采样率的增大,每次卷积结果在最终语义分割结果计算中的权重越小。因此本公开实施例还可以通过不同采样率提取不同尺度的特征,然后将不同采样率的特征图进行并行拼接,得到更加准确的语义分割结果。另外,在特征图并行拼接时,还可以加入全局平均池化的图像级特征,将各特征图转换为统一尺度进行拼接,比如对于语义分割过程中得到的、尺度分别为32×32、16×16和8×8的特征图,可以将16×16和8×8的特征图均转换为32×32后进行特征图的并行拼接,或者将32×32和8×8的特征图均转换为16×16后进行特征图的并行拼接,等等。

例如,对图4所示的原始图像进行语义分割,可以得到图5所示的语义分割结果图。参照图5,通过语义分割处理可以将图4所示的原始图像划分成天空区域a和建筑区域b。应当理解的是,本公开实施例仅关注建筑区域与天空区域之间的区域划分,并不关注其他区域的划分,因此在图5中可以将除天空区域外的其他非建筑区域均看作建筑区域。

在将原始图像进行语义分割之后,为了确定第一区域与第二区域之间的过渡带区域,可以分别对语义分割后的图像进行图像膨胀处理和图像腐蚀处理,然后将图像膨胀处理后的图像与图像腐蚀处理后的图像进行像素点差值计算。

其中,图像膨胀是指将图像的白色区域进行扩张,最终结果图中的白色区域比原图的白色区域更大,图像腐蚀是指将图像中的白色部分进行缩减细化,最终结果图中的白色区域比原图的白色区域更小。比如,对图5所示的语义分割结果图分别进行图像膨胀处理和图像腐蚀处理,图像膨胀处理后的图像中白色区域(建筑区域b)变大,图像腐蚀后的图像中白色区域(建筑区域b)变小。

对语义分割后的图像分别进行图像膨胀处理和图像腐蚀处理后,可以将图像膨胀后的图像与图像腐蚀后的图像进行像素点差值计算。示例地,可以针对图像膨胀后的图像与图像腐蚀后的图像,按照坐标依次将像素点的灰度值对应相减,从而得到第一区域与第二区域之间的过渡带区域。比如,对图5所示的语义分割结果图分别进行图像膨胀处理和图像腐蚀处理,然后再将图像膨胀后的图像与图像腐蚀后的图像进行像素点差值计算,可以得到图6所示的天空区域与建筑区域之间的过渡带区域。相较于图5中天空区域与建筑区域之间的区域分割线,该过渡带区域的宽度有所增加。

在确定第一区域与第二区域之间的过渡带区域的同时或者之后,可以对原始图像进行边缘检测,确定第一区域与第二区域之间的边缘线,从而结合过渡带区域和边缘检测结果,对第一区域与第二区域实现更准确的区域划分。

应当理解的是,图像局部区域亮度变化显著的部分被称作边缘,灰度值在邻域内有较大的变化的像素点可以是边缘点。在图像中划分建筑区域与其他区域时,由于建筑区域相对其他区域而言,具有静态、规整、内部相对一致的外观特性,因此通过边缘检测可以较好的提取建筑区域的边缘信息。

示例地,可以通过相关技术中的任一种边缘检测方式对原始图像进行边缘检测,本公开实施例对此不作限定。比如,可以通过canny算子对图4所示的原始图像进行边缘检测,得到如图7所示的边缘检测结果图。具体的,可以在图像灰度化后,用高斯滤波器平滑图像。然后,在滤波后的图像中,可以通过sobel算子计算局部梯度和边缘方向,并将梯度方向上强度局部最大的点作为边缘点。最后沿着梯度方向,比较边缘点的梯度值,保留局部梯度最大的边缘点,以减小边缘的宽度。另外,在canny算子中,保留的边缘点中可能存在由于噪声和颜色变化引起的像素点,而非真实边缘点。因此,为了提高边缘检测的结果准确性,canny算子可以过滤掉梯度值小于低阈值的目标边缘点,保留梯度值大于高阈值的强边缘点,并对高、低阈值区间内的弱边缘点进行边缘邻域连通操作。其中,高阈值、低阈值可以基于边缘检测的梯度值区间自适应设置,本公开实施例对此不作限定。比如,高阈值可以设置为梯度值升序区间的四分之三处,低阈值可以设置在梯度值升序区间的四分之一处。

通过上述方式,将高、低阈值区间内的弱边缘点进行边缘邻域连通操作,可以得到边缘点相连的多条边缘线。但是,该边缘线中可能包括互不相连的多条边缘线段,为了将不相连的边缘线段连接成邻域连通的边缘线段,可以对多条边缘线段进行边缘点填充,使得多条边缘线段连通成一条连贯的边缘线,得到第三图像。相应地,步骤303可以是将第三图像和第二图像进行叠加。

进一步,对多条边缘线段进行边缘点填充,使得多条边缘线段连通成一条连贯的边缘线,得到第三图像,可以是:针对多条边缘线段,将任一边缘线段作为初始的目标边缘线段,并执行以下操作:针对每一次确定的目标边缘线段,在多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段,然后将目标边缘线段与满足预设条件的边缘线段进行边缘点填充,得到连通线段,并将连通线段确定为新的目标边缘线段,直到多条边缘线段连通成一条连贯的边缘线。

例如,边缘线包括4条互不相连的边缘线段,分别为边缘线段1、边缘线段2、边缘线段3和边缘线段4。在本公开实施例中,可以将该4条边缘线段中的任一边缘线段作为初始的目标边缘线段,比如将边缘线段1作为初始的目标边缘线段。然后可以针对初始的目标边缘线段(即边缘线段1),在剩余3条边缘线段中确定满足预设条件的边缘线段,比如确定满足预设条件的边缘线段为边缘线段2。在此种情况下,则可以将边缘线段1和边缘线段2进行边缘点填充,得到连通线段n1。

并且,可以将该连通线段n1作为新的目标边缘线段,在剩余2条边缘线段中确定满足预设条件的边缘线段,比如确定满足预设条件的边缘线段为边缘线段3,那么可以将连通线段n1与边缘线段3进行边缘点填充,得到连通线段n2。然后,可以将该连通线段n2作为新的目标边缘线段,若剩余的边缘线段4为满足预设条件的边缘线段,则可以将连通线段n2与边缘线段4进行边缘点填充。通过这样的方式,可以将4条边缘线段连通成一条连贯的边缘线。

应当理解的是,上述仅是举例说明,并不用于限制本公开。在实际应用中,如果有4条边缘线段,也可能是先将边缘线段2和边缘线段3进行边缘点填充,得到一连通线段,然后再将该连通线段与边缘线段4进行边缘点填充,得到又一连通线段,最后再将该连通线段与边缘线段1进行边缘点填充,从而将4条边缘线段连通成一条连贯的边缘线。又或者,还可能是先将边缘线段3和边缘线段4进行边缘点填充,得到一连通线段,然后再将该连通线段与边缘线段1进行边缘点填充,得到又一连通线段,最后再将该连通线段与边缘线段2进行边缘点填充,从而将4条边缘线段连通成一条连贯的边缘线,等等。

通过上述方式,在本公开实施例中,对边缘线段进行像素点填充,得到第三图像的过程可以是先选定任意两条边缘线段进行边缘点填充,得到邻域连通的边缘线段。若剩余边缘线段中还存在未邻域连通的边缘线段,则将该邻域连通的边缘线段与剩余的未邻域连通的边缘线段进行像素点填充,以此类推,直到所有边缘线段连接成邻域连通的一条边缘线。

在一种可能的方式中,对针对每一次确定的目标边缘线段,在多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段,可以是:针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段的第一预设范围内、距离所述目标边缘线段最近的边缘线段。其中,第一预设范围可以是根据实际情况设定的,比如第一预设范围可以是边缘线段的端部像素点的邻域,等等,本公开实施例对此不作限定。

例如,以正对图像的上下左右为基准方向,在目标边缘线段ab的端部像素点a的邻域内,确定了位于目标边缘线段ab上方、且与该边缘线段ab距离最近的边缘线段,因此可以将该目标边缘线段ab与该边缘线段之间的区域进行边缘点填充,即在目标边缘线段ab与目标边缘线段之间的区域中添加边缘点,以使目标边缘线段ab与该边缘线段连接成邻域连通的一条边缘线段。或者,在目标边缘线段cd的端部像素点d的邻域内,确定了位于目标边缘线段cd右方、且与目标边缘线段cd距离最近的边缘线段,因此可以将目标边缘线段cd与该边缘线段之间的区域进行边缘点填充,即在目标边缘线段cd与该边缘线段之间距离最近的两个端点之间添加边缘点,以使目标边缘线段cd与该边缘线段连接成邻域连通的一条边缘线段,等等。

在另一种可能的方式中,针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段,还可以是:针对所述多条边缘线段中的每条边缘线段,根据所述边缘线段上的像素点拟合曲线;针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段第二预设范围内、且拟合曲线与所述目标边缘线段的拟合曲线存在交点的边缘线段。其中,第二预设范围可以是根据实际情况设定的,比如第二预设范围可以是边缘线的端部像素点的邻域,等等,本公开实施例对此不作限定。

应当理解的是,边缘线段可以由多个像素点组成,由于互不相连的多条边缘线段可能是长度较短的线段,为了确定可以邻域连通的两条边缘线段,可以通过拟合曲线将每条边缘线段进行延长,若延长后的边缘线段有交点,即每条边缘线段对应的拟合曲线有交点,则说明该两条边缘线段很可能位于同一平直边缘线,从而可以对该两条边缘线段进行边缘点填充,以使该两条边缘线段连接成邻域连通的一条边缘线段。

通过上述方式,可以将所有离散边缘点连接成邻域连通的边缘线段,便于后续更加精细的区域划分过程。

在对图像进行边缘点填充后,可以将进行边缘点填充后的图像以及包括过渡带区域的图像进行叠加,并对在叠加后的图像中,按照预设遍历路径进行像素点遍历。

示例地,将进行边缘点填充后的图像以及包括过渡带区域的图像进行叠加可以是将边缘点填充后的图像与包括过渡带区域的图像,按照坐标对应关系依次将像素点的灰度值进行相加。由于边缘填充后的图像中边缘线的灰度值与过渡带区域中像素点的灰度值差异较大,因此通过图像叠加的方式,可以对过渡带区域进行修整,得到更加准确的图像区域划分结果。比如,对图7所示的边缘检测结果进行边缘点填充,得到第三图像,将该第三图像与图6所示的包括过渡带区域的第二图像进行图像叠加,第三图像中边缘线上的各像素点灰度值为0(表现为白色),过渡带区域中各像素点灰度值大于0(表现为灰色)。在此种情况下,将第三图像与第二图像进行图像叠加,可以得到如图8所示的结果图。比对图6和图8可知,天空区域与建筑区域之间的过渡带区域得到了进一步修整,便于提高后续像素遍历的效率。

在实际应用中,边缘检测的结果可能存在精度误差,从而影响最终图像处理结果的准确性,因此为了避免该问题,进一步提高结果准确性,并提高遍历效率,可以在将包括边缘线的图像以及包括过渡带区域的图像进行叠加后,去除与邻域内的其他边缘点灰度值不同的差异边缘点,得到第四图像,然后在该第四图像中,按照预设遍历路径进行像素点遍历。应当理解的是,若边缘检测的结果精度较高,则可以直接对叠加后的图像进行像素点遍历。

示例地,预设遍历路径可以包括以下至少一者:向左行遍历、向右行遍历、向下列遍历、向上列遍历、从叠加后图像的左上角到右下角的斜向遍历、从叠加后图像的右上角到左下角的斜向遍历。应当理解的是,在图像区域划分的过程中,考虑到第一区域可能位于第二区域的上方、下方、左方或者右方,因此可以采用向左行遍历、向右行遍历、向下列遍历、向上列遍历方式中的至少一种。另外,考虑到区域之间的边界可能为凸型边界的,比如图1中天空与建筑之间的边界,或者可能为凹型边界,本公开实施例还可以采用从叠加后图像的左上角到右下角的斜向遍历、或者从叠加后图像的右上角到左下角的斜向遍历方式,在具体实施时,可以根据实际情况确定预设遍历路径。

例如,针对图8所示的叠加结果图进行像素遍历,预设遍历路径为向下列遍历,第一区域可以是天空区域,第二区域可以是建筑区域。在此种情况下,若在预设遍历路径上检测到边缘点,则可以停止遍历,并将预设遍历路径上已遍历的像素点确定为天空区域内的像素点,将预设遍历路径上未遍历的像素点确定为建筑区域内的像素点,从而得到图像区域划分结果。然后,可以对天空区域进行像素替换后,得到如图9所示的结果图。参照图4与图9可知,通过本公开实施例中的图像处理方法进行图像区域划分,建筑与天空之间的边缘平直,未出现与建筑实际边缘不符合的边缘特征,可以更加准确的划分天空区域和建筑区域,得到更加精准的区域划分结果,从而更准确的实现图像区域的像素替换,更好的满足用户对图像的美化需求。

下面通过另一示例性实施例对本公开中的图像处理方法进行说明。参照图10,该图像处理方法可以包括如下步骤:

步骤1001,对原始图像进行语义分割处理。

步骤1002,分别对语义分割后的图像进行图像膨胀处理和图像腐蚀处理,并将图像膨胀处理后的图像与图像腐蚀处理后的图像进行像素点差值计算,确定语义分割后的图像中第一区域与第二区域之间的过渡带区域。

步骤1003,对原始图像进行边缘检测,确定第一区域与第二区域之间的边缘线。

步骤1004,针对多条边缘线中的每条边缘线段,根据边缘线段上的像素点拟合曲线。

步骤1005,若第一边缘线段对应的曲线、与第一边缘线段第二预设范围内第二边缘线段对应的曲线存在交点,则对第一边缘线段与第二边缘线段进行边缘点填充,以使第一边缘线段与第二边缘线段连接成邻域连通的一条边缘线段。

步骤1006,将进行边缘点填充后的图像以及包括过渡带区域的图像进行叠加。

步骤1007,在叠加后的图像中,去除与邻域内的其他边缘点灰度值不同的差异边缘点。

步骤1008,在去除差异边缘点后的图像中,按照预设遍历路径进行像素点遍历。

步骤1009,若在预设遍历路径上检测到边缘点,则停止遍历,并将预设遍历路径上已遍历的像素点确定为第一区域内的像素点,将预设遍历路径上未遍历的像素点确定为第二区域内的像素点。

上述各步骤的具体实施方式已在上文进行详细举例说明,这里不再赘述。另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。

在通过上述图像处理方式对图像进行处理后,可以得到第一区域和第二区域的精准划分结果,从而在对第一区域或者第二区域进行像素点替换时,可以得到更加准确的像素点替换结果。比如,通过上述方式对图1所示的图像进行处理,并将处理得到的天空区域替换成蓝天,可以得到如图11所示的结果图。参照图2和图11可知,上述方式可以避免建筑边缘出现锯齿状或弯曲等与建筑实际边缘不符合的边缘特征,得到了天空与建筑之间更加精准的边缘结果,从而更加准确的实现天空区域的替换,更好地满足用户对于图像的美化需求。

基于同一发明构思,本公开实施例还提供一种图像处理装置,该图像处理装置可以通过软件、硬件或者两者结合的方式成为电子设备的部分或全部。参照图12,该图像处理装置1200包括:

第一确定模块1201,被配置为确定原始图像中第一区域与第二区域之间的边缘过渡区域,得到第一图像;

第二确定模块1202,被配置为对所述原始图像进行边缘检测,确定所述第一区域与所述第二区域之间的边缘线,得到第二图像;

叠加模块1203,被配置为将所述第一图像和所述第二图像进行叠加;

遍历模块1204,被配置为在叠加后的图像中,按照预设遍历路径进行像素点遍历,当在所述预设遍历路径上检测到边缘点时,停止遍历,将所述预设遍历路径上已遍历的像素点确定为所述第一区域内的像素点,将所述预设遍历路径上未遍历的像素点确定为所述第二区域内的像素点。

可选地,所述边缘线包括互不相连的多条边缘线段,所述装置1200还包括:

填充模块,被配置为对所述多条边缘线段进行边缘点填充,以使所述多条边缘线段连通成一条连贯的边缘线,得到第三图像;

所述叠加模块1203被配置为:将所述第三图像和所述第二图像进行叠加。

可选地,所述填充模块被配置为:

针对所述多条边缘线段,将任一所述边缘线段作为初始的目标边缘线段,并执行以下操作:

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定满足预设条件的边缘线段;

将所述目标边缘线段与满足所述预设条件的边缘线段进行边缘点填充,得到连通线段,并将所述连通线段确定为新的目标边缘线段,直到所述多条边缘线段连通成一条连贯的边缘线。

可选地,所述填充模块被配置为:

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段的第一预设范围内、距离所述目标边缘线段最近的边缘线段。

可选地,所述填充模块被配置为:

针对所述多条边缘线段中的每条边缘线段,根据所述边缘线段上的像素点拟合曲线;

针对每一次确定的目标边缘线段,在所述多条边缘线段中除已被确定为目标边缘线段以外的其他边缘线段中,确定在所述目标边缘线段第二预设范围内、且拟合曲线与所述目标边缘线段的拟合曲线存在交点的边缘线段。

可选地,所述第一确定模块1201被配置为:

对所述原始图像进行语义分割处理;

分别对语义分割后的图像进行图像膨胀处理和图像腐蚀处理,并将图像膨胀处理后的图像与图像腐蚀处理后的图像进行像素点差值计算,确定语义分割后的图像中第一区域与第二区域之间的过渡带区域。

可选地,所述遍历模块1204被配置为:

在叠加后的图像中,去除与邻域内的其他边缘点灰度值不同的差异边缘点,得到第四图像;

在所述第四图像中,按照预设遍历路径进行像素点遍历。

可选地,所述预设遍历路径包括以下至少一者:向左行遍历、向右行遍历、向下列遍历、向上列遍历、从叠加后图像的左上角到右下角的斜向遍历、从叠加后图像的右上角到左下角的斜向遍历。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

基于同一发明构思,本公开实施例还提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,被配置为执行所述存储器中的所述计算机程序,以实现上述任一图像处理方法的步骤。

在一种可能的方式中,该电子设备的框图如图13所示。参照图13,该电子设备1300可以包括:处理器131,存储器132。该电子设备130还可以包括多媒体组件133,输入/输出(i/o)接口134,以及通信组件135中的一者或多者。

其中,处理器131用于控制该电子设备130的整体操作,以完成上述的图像处理方法中的全部或部分步骤。存储器132用于存储各种类型的数据以支持在该电子设备130的操作,这些数据例如可以包括用于在该电子设备130上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器132可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

多媒体组件133可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器132或通过通信组件135发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口134为处理器131和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件135用于该电子设备130与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件135可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备130可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图像处理方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图像处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器132,上述程序指令可由电子设备130的处理器131执行以完成上述的图像处理方法。

在另一种可能的方式中,电子设备还可以被提供为一服务器。参照图14,该电子设备1400可以包括处理器1422,其数量可以为一个或多个,以及存储器1432,用于存储可由处理器1422执行的计算机程序。存储器1432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1422可以被配置为执行该计算机程序,以执行上述的图像处理方法。

另外,电子设备1400还可以包括电源组件1426和通信组件1450,该电源组件1426可以被配置为执行电子设备1400的电源管理,该通信组件1450可以被配置为实现电子设备1400的通信,例如,有线或无线通信。此外,该电子设备1400还可以包括输入/输出(i/o)接口1458。电子设备1400可以操作基于存储在存储器1432的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图像处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1432,上述程序指令可由电子设备1400的处理器1422执行以完成上述的图像处理方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的图像处理方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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