发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种图像处理方法、装置、电子设备及存储介质。
根据本申请实施例的一个方面,提供了一种图像处理方法,包括:
获取目标帧图像;
对预获取的背景图像以及所述目标帧图像进行差分处理,得到目标差分图像;
根据所述目标差分图像中差异区域的边缘强度信息得到遮挡检测结果;其中,所述差异区域为所述目标帧图像与所述目标背景图像之间存在差异的区域。
进一步地,所述方法还包括:
获取摄像装置采集的历史图像集合;
将所述历史图像集合中不存在遮挡物的历史图像,确定为目标历史图像;
利用所述目标历史图像的像素和,计算像素平均值;
基于所述像素平均值生成初始的背景图像。
进一步地,所述对预获取的背景图像以及所述目标帧图像进行差分处理,得到目标差分图像,包括:
采用所述背景图像对所述目标帧图像进行差分,得到第一差分图像;
对所述第一差分图像进行二值化处理,得到第二差分图像,其中,所述差分图像中携带遮挡信息;
对所述第二差分图像进行形态学腐蚀操作,确定所述第二差分图像中的目标像素点,并过滤所述目标像素点得到所述目标差分图像,其中,所述目标像素点为所述第二差分图像中孤立的像素点。
进一步地,所述根据所述目标差分图像中差异区域的边缘强度信息得到遮挡检测结果之前,所述方法还包括:
对所述目标差分图像进行边缘检测,确定所述目标帧图像与所述目标背景图像之间的差异区域;
确定所述差异区域的最小外接矩形;
计算所述最小外接矩形的边缘强度值,作为所述差异区域的边缘强度信息。
进一步地,所述根据所述目标差分图像中差异区域的边缘强度信息得到遮挡检测结果,包括:
将所述边缘强度值与预获取的边缘强度阈值比较;
在所述边缘强度值大于所述边缘强度阈值的情况下,确定所述差分图像中存在遮挡所述摄像装置的遮挡物;
根据所述遮挡物生成所述遮挡检测结果。
进一步地,在根据所述遮挡物生成所述遮挡检测结果之后,所述方法还包括:
监控所述遮挡物,获取所述遮挡物对摄像装置的遮挡时长;
在所述遮挡时长大于或等于预设时长的情况下,发送报警信息。
进一步地,所述根据所述差分图像中差异区域的边缘强度信息得到遮挡检测结果,包括:
将所述边缘强度值与预获取的边缘强度阈值比较;
在所述边缘强度值小于或等于所述边缘强度阈值的情况下,确定所述差分图像中不存在遮挡所述摄像装置的遮挡物,并生成所述遮挡检测结果。
进一步地,所述方法还包括:
获取所述目标帧图像的上一帧图像;
获取所述目标帧图像中的第一前景子图像,以及所述目标帧图像的上一帧图像中的第二前景子图像,其中,所述第一前景子图像是根据所述最小外接矩形得到的;
合成所述第一前景子图像和所述第二前景子图像,得到目标前景子图像;
将所述上一帧图像中除所述第一前景子图像以外的图像确定为目标背景子图像;
基于所述目标前景子图像和所述目标背景子图像生成第三图像;
将所述第三图像确定为下一时刻对应的背景图像。
进一步地,在确定所述差分图像中不存在遮挡所述摄像装置的遮挡物的情况下,所述方法还包括:
将所述目标帧图像确定为下一时刻对应的背景图像。
根据本申请实施例的另一方面,还提供了一种图像处理装置,包括:
获取模块,用于获取目标帧图像;
处理模块,用于预获取的背景图像以及所述目标帧图像进行差分处理,得到目标差分图像;
检测模块,用于根据所述目标差分图像中差异区域的边缘强度信息得到遮挡检测结果;其中,所述差异区域为所述目标帧图像与所述目标背景图像之间存在差异的区域。
根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请利用差分图像中的边缘信息可以及时的检测摄像装置的镜头是否存在被遮挡的情况,提高了其监控地区的安全性,同时采用摄像装置采集的历史图像确定目标背景图像,并对目标背景图像对目标帧图像进行差分得到的差分图像进行检测,能够提高遮挡物的检测精度,且能够降低天气变化或者物体突然闯入对摄像装置的影响。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种图像处理方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
根据本申请实施例的一方面,提供了一种图像处理方法的方法实施例。图1为本申请实施例提供的一种图像处理方法的流程图,如图1所示,该方法包括:
步骤S11,获取目标帧图像。
在本申请实施例中,主要针对摄像装置所拍摄的图像进行检测,从而可以确定摄像装置的镜头在当前时刻是否被遮挡,因此目标帧图像可以是摄像装置在当前时刻采集的图像。
步骤S12,对预获取的背景图像以及目标帧图像进行差分处理,得到目标差分图像。
在本申请实施例中,为了能够更好的检测出目标帧图像中是否存在遮挡物,因此需要获取目标帧图像对应的背景图像,其中,背景图像用于对目标帧图像进行差分。
在本申请实施例中,如图2所示,背景图像的获取方法具体包括以下步骤A1-A4:
步骤A1,获取摄像装置在当前时刻之前采集的历史图像集合。
步骤A2,将历史图像集合中不存在遮挡物的历史图像,确定为目标历史图像。
在本申请实施例中,对历史图像集合中的每个历史图像携带的标记信息,根据标记信息确定该历史图像中是否存在遮挡物,因此可以直接根据标记信息从历史图像集合中获取不存在遮挡物的历史图像,并将其确定为目标历史图像。
需要说明的是,在处理完每一帧图像后,都会在该图像中添加标记信息,标记信息用于标记该图像中是否存在遮挡物,然后将该图像进行存储。
步骤A3,利用目标历史图像的像素和,计算像素平均值。
步骤A4,基于像素平均值生初始的背景图像。
在本申请实施例中,通过计算目标历史图像的像素平均值,并依据像素平均值生成背景图像,可以保证背景图像的真实度,并且后续可以提高差分效果。
在本申请实施例中,步骤S12,对预获取的背景图像以及目标帧图像进行差分处理,得到目标差分图像,如图3所示,包括以下步骤B1-B3:
步骤B1,采用背景图像对目标帧图像进行差分,得到第一差分图像。
在本申请实施例中,第一差分图像的生成过程如下:
其中,B(x,y)表示背景图像,Fi(x,y)表示目标帧图像。
步骤B2,对第一差分图像进行二值化处理,得到第二差分图像,其中,第二差分图像中携带遮挡信息。
在本申请实施例中,对差分图像进行二值化处理,得到二进制图像(即第二差分图像),其目的主要是分离出背景图像和目标帧图像之间的差异,确定遮挡信息。
步骤B3,对第二差分图像进行形态学腐蚀操作,确定第二差分图像中的目标像素点,并过滤目标像素点得到目标差分图像,其中,目标像素点为第二差分图像中孤立的像素点。
在本申请实施例中,对第二差分图像进行形态学腐蚀操作,主要目的是找到图像中孤立的像素点,并将孤立的像素点作为目标像素点,然后将过滤掉目标像素点的差分图像确定为目标差分图像。
需要说明的是,膨胀和腐蚀被称为形态学操作。它们通常在二进制图像上执行,类似于轮廓检测。通过将像素添加到该图像中的物体的感知边界,扩张放大图像中的明亮白色区域。侵蚀恰恰相反:它沿着物体边界移除像素并缩小物体的大小。通常这两个操作是按顺序执行的,以增强重要的图像中的物体特征。
步骤S13,根据目标差分图像中差异区域的边缘强度信息得到遮挡检测结果;其中,差异区域为目标帧图像与目标背景图像之间存在差异的区域。
在本申请实施例中,如图4所示,根据目标差分图像中差异区域的边缘强度信息得到遮挡检测结果之前,方法还包括以下步骤C1-C3:
步骤C1,对目标差分图像进行边缘检测,确定目标帧图像与目标背景图像之间的差异区域。
步骤C2,确定差异区域的最小外接矩形。
步骤C3,计算最小外接矩形的边缘强度值,作为差异区域的边缘强度信息。
在本申请实施例中,对差分图像进行边缘检测的过程主要是采用Canny算子对差分图像进行边缘检测(即边缘检测算法)。
其中,Canny边缘检测算法具体过程如下:(1)用高斯滤波器平滑图象;(2)用一阶偏导的有限差分来计算梯度的幅值和方向;(3)对梯度幅值进行非极大值抑制;(4)用双阈值算法检测和连接边缘。
具体的,对非极大值抑制图像作用两个阈值th1和th2,两者关系th1=0.4th2。把梯度值小于th1的像素的灰度值设为0,得到图像1。然后把梯度值小于th2的像素的灰度值设为0,得到图像2。由于图像2的阈值较高,去除大部分噪音,但同时也损失了有用的边缘信息。而图像1的阈值较低,保留了较多的信息,我们可以以图像2为基础,以图像1为补充来连结图像的边缘。
链接边缘的具体步骤如下:对图像2进行扫描,当遇到一个非零灰度的像素p(x,y)时,跟踪以p(x,y)为开始点的轮廓线,直到轮廓线的终点q(x,y)。考察图像1中与图像2中q(x,y)点位置对应的点s(x,y)的8邻近区域。如果在s(x,y)点的8邻近区域中有非零像素s(x,y)存在,则将其包括到图像2中,作为r(x,y)点。从r(x,y)开始,重复第一步,直到我们在图像1和图像2中都无法继续为止。当完成对包含p(x,y)的轮廓线的连结之后,将这条轮廓线标记为已经访问。回到第一步,寻找下一条轮廓线。重复第一步、第二步、第三步,直到图像2中找不到新轮廓线为止。至此完成边缘检测。
在本申请实施例中,对差分后的图像使用Canny算子进行边缘检测后,可以直接得到差异区域的边缘大小,标记出差分后差异区域的最小外接矩形。使用计算边缘强度值来计算是否遮挡。
在本申请实施例中,计算边缘强度值的具体过程如下:
采用soble算子计算最小外接矩形中每个像素点的横向灰度值以及纵向灰度值,其中,soble算子包括:横向soble算子以及纵向soble算子,横向soble算子为:
纵向soble算子为:
然后将像素点的横向灰度值以及纵向灰度值进行分别卷积计算,得到卷积结果dx、dy,并将卷积结果dx、dy代入强度计算公式计算计算最小外接矩形的边缘强度值。
其中,dx=f(x,y)×sobelx,dy=f(x,y)×sobely,边缘计算公式为:
在本申请实施例中,如图5所示,根据目标差分图像中差异区域的边缘强度信息得到遮挡检测结果,包括以下步骤D1-D3:
步骤D1,将边缘强度值与预获取的边缘强度阈值比较。
步骤D2,在边缘强度值大于边缘强度阈值的情况下,确定差分图像中存在遮挡摄像装置的遮挡物。
步骤D3,根据遮挡物生成遮挡检测结果。
在本申请实施例中,通过计算最小外接矩形的边缘强度值,并与设定的边缘强度阈值对比,能够直接确定摄像装置是否存在遮挡。例如:边缘强度值大于设定的边缘强度阈值则存在遮挡物,否则就不存在遮挡物。
在本申请实施例中,如图6所示,在根据遮挡物生成遮挡检测结果之后,方法还包括以下步骤E1-E2:
步骤E1,监控遮挡物,获取遮挡物对摄像装置的遮挡时长。
在本申请实施例中,监控遮挡物的方式可以是,获取多个时间周期内的连续图像帧对应的遮挡检测结果,如果连续图像帧对应的遮挡检测结果均显示存在遮挡物,则统计时间周期的数量,然后根据时间周期的数量确定遮挡时长。
步骤E2,在遮挡时长大于或等于预设时长的情况下,发送报警信息。
在本申请实施例中,考虑到存在树叶等物体导致的短暂遮挡情况,因此设定了遮挡时长,只有在遮挡时长大于或等于预设时长的情况下,发送报警信息,其中报警信息可以是向监控终端发送报警信号或者进行广播。
在本申请实施例中,还提供了一种预警方式,具体过程如下:获取遮挡物的物体特征,根据物体特征确定遮挡物的物体类型,其中,物体类型包括:动态类型和静态类型,根据物体类型执行相应的预警操作。例如:在物体类型为动态物体类型的情况下,则通过广播的方式进行预警,以驱离动态的遮挡物,如动物,人等等。在物体类型为静态物体类型的情况下,则通过向监控终端发送预警信号的方式进行预警。
在本申请实施例中,在遮挡时长大于或等于预设时长的情况下,还提供了一种方法,具体包括:
在本申请实施例中,如图7所示,在从差分图像中提取到用于遮挡摄像装置的遮挡物的情况下,方法还包括以下步骤F1-F6:
步骤F1,获取目标帧图像的上一帧图像;
步骤F2,获取目标帧图像中的第一前景子图像,以及目标帧图像的上一帧图像中的第二前景子图像,其中,第一前景子图像是根据最小外接矩形得到的;
在本申请实施例中,在从差分图像中提取到用于遮挡摄像装置的遮挡物的情况下,会标记遮挡物的最小外接矩形,因此会将最小外接矩形确定为目标帧图像中的第一前景子图像,此时目标帧图像中除第一前景子图像之外的其他部分的背景子图像。
需要说明的是,由于目标帧图像中存在遮挡物,此时会查询目标帧图像的上一帧图像,并确定上一帧图像中是否存在遮挡物,如果上一帧图像中不存在遮挡物的情况下,从上一帧图像中获取与第一前景子图像位置相同的区域,并将该区域确定为第二前景子图像。
步骤F3,合成第一前景子图像和第二前景子图像,得到目标前景子图像;
在本申请实施例中,使用第一前景子图像和第二前景子图像合成新的目标前景子图像。在本申请实施例中,合成的过程如下:
在本申请实施例中,在上一帧图像中不存在遮挡物的情况下,从上一帧图像中得到第二前景子图像在合成过程中可以直接作为背景图像,然后将第一前景子图像与第二前景子图像进行融合,得到目标前景子图像。
步骤F4,将上一帧图像中除第一前景子图像以外的图像确定为目标背景子图像;
步骤F5,基于目标前景子图像和目标背景子图像生成第三图像;
步骤F6,将第三图像确定为下一时刻对应的背景图像。
本申请实施例公开的图像处理方法可以有效检测摄像装置的镜头是否存在被遮挡的情况。同时采用摄像装置采集的历史图像确定目标背景图像,并对目标背景图像对目标帧图像进行差分得到的差分图像进行检测,能够提高遮挡物的检测精度,且能够降低天气变化或者物体突然闯入对摄像装置的影响。
可以理解的,本申请实施例采用上一帧干净背景来替换遮挡处前景区的图像,能够保证得到的新背景图像一定是干净的背景,并且是实时更新的。如果检测到遮挡物没有将遮挡物用上一帧对应的相应位置替换的话,会造成前后不一致。例如,目标帧图像中存在遮挡物,在确定该遮挡物对摄像装置的镜头产生遮挡时,如果使用带遮挡物的图像作为下一帧对比的背景图片,则因为遮挡物的存在会影响阈值计算,造成检测不准确。
在本申请实施例提供的方法还包括:在从差分图像中未提取到用于遮挡摄像装置的遮挡物的情况下,将目标帧图像确定为下一时刻对应的背景图像。
在本申请实施例中,从差分图像中未提取到用于遮挡摄像装置的遮挡物,可以通过以下方式确定:基于差分图像中最小外接矩形的边缘强度值小于边缘强度阈值的情况下,则确定从差分图像中未提取到用于遮挡摄像装置的遮挡物。或者,对差分图像进行边缘检测的过程中,没有检测到第一图像与目标背景图像之间的差异区域,则确定从差分图像中未提取到用于遮挡摄像装置的遮挡物。
图8为本申请实施例提供的一种图像处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,该装置包括:
获取模块81,用于获取目标帧图像;
处理模块82,用于对预获取的背景图像以及目标帧图像进行差分处理,得到目标差分图像;
检测模块83,用于根据目标差分图像中差异区域的边缘强度信息得到遮挡检测结果;其中,差异区域为目标帧图像与目标背景图像之间存在差异的区域。
在本申请实施例中,装置还包括:背景图像获取模块,用于获取摄像装置采集的历史图像集合;将历史图像集合中不存在遮挡物的历史图像,确定为目标历史图像;利用目标历史图像的像素和,计算像素平均值;基于像素平均值生成初始的背景图像。
在本申请实施例中,处理模块82,用于采用背景图像对目标帧图像进行差分,得到第一差分图像;对第一差分图像进行二值化处理,得到第二差分图像,其中,第二差分图像中携带遮挡信息;对第二差分图像进行形态学腐蚀操作,确定第二差分图像中的目标像素点,并过滤目标像素点得到目标差分图像,其中,目标像素点为第二差分图像中孤立的像素点。
在本申请实施例中,装置还包括:计算模块,用于对目标差分图像进行边缘检测,确定目标帧图像与目标背景图像之间的差异区域;确定差异区域的最小外接矩形;计算最小外接矩形的边缘强度值,作为差异区域的边缘强度信息。
在本申请实施例中,检测模块83,用于将边缘强度值与预获取的边缘强度阈值比较;在边缘强度值大于边缘强度阈值的情况下,确定差分图像中存在遮挡摄像装置的遮挡物;根据遮挡物生成遮挡检测结果。
在本申请实施例中,装置还包括:监控模块,用于监控遮挡物,获取遮挡物对摄像装置的遮挡时长;在遮挡时长大于或等于预设时长的情况下,发送报警信息。
在本申请实施例中,检测模块83,用于将边缘强度值与预获取的边缘强度阈值比较;在边缘强度值小于或等于边缘强度阈值的情况下,确定差分图像中不存在遮挡摄像装置的遮挡物,并生成遮挡检测结果。
在本申请实施例中,装置还包括:更新模块,用于获取目标帧图像的上一帧图像;获取目标帧图像中的第一前景子图像,以及目标帧图像的上一帧图像中的第二前景子图像,其中,第一前景子图像是根据最小外接矩形得到的;合成第一前景子图像和第二前景子图像,得到目标前景子图像;将上一帧图像中除第一前景子图像以外的图像确定为目标背景子图像;基于目标前景子图像和目标背景子图像生成第三图像;将第三图像确定为下一时刻对应的背景图像。
在本申请实施例中,在确定差分图像中不存在遮挡摄像装置的遮挡物的情况下,更新模块,还用于将目标帧图像确定为下一时刻对应的背景图像。
本申请实施例还提供一种电子设备,如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的图像处理方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk)等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。