首页> 中国专利> 基于云团边缘识别的云团位移矢量计算方法及装置

基于云团边缘识别的云团位移矢量计算方法及装置

摘要

本发明实施例提供一种基于云团边缘识别的云团位移矢量计算方法及装置,该方法包括:从当前云图中分割出云团区域;提取每个云团区域的外边缘;在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。本发明实施例使得各个云团不同位置的位移矢量信息得以表达,并提高计算效率与精度。

著录项

说明书

技术领域

本发明涉及位移矢量计算技术领域,尤其涉及一种基于云团边缘识别的云团位移矢量计算方法及装置。

背景技术

光伏功率预测主要有四种分类方式,即预测时间尺度、预测空间尺度、预测过程和预测方法。云团的遮挡是影响光伏出力的主要因素。当光伏电站上空存在云团遮挡时,部分光照无法穿过云层,进而导致电站光伏板接收的太阳辐照度减少,使得该电站的光伏功率出现骤降。云团的移动和生消形变是导致光伏出力出现不确定波动的根本原因之一。基于云图对云团位移矢量进行计算与预测,是光伏功率预测的重要环节。

目前主要的云团位移矢量计算方法包括两个步骤,云团识别和云位移矢量计算。云团识别的主要目的是将代表云团的像素与背景区分开,进而排除像素亮度差异对位移矢量计算的干扰,其实质上是一个将灰度图或者彩色图转化为二值图像的过程。云位移矢量计算是算法的核心环节,由于云团在运动过程中存在生消形变,因此传统的运动矢量计算方法,如计算重心移动距离等往往不再适用。

目前,基于云图数据的云运动矢量计算方法主要有块匹配法、Lucas–Kanade光流法和相位相关算法三种。块匹配法是运动估计的常用方法,广泛应用于二维图像数据的运动分析。其基本原理是基于当前帧中一定大小的分区域,按照一定的度量方法,在当前帧的前后帧的一定范围内寻找最佳匹配分区域。其中,互相关系数(Cross-correlationCoefficient,CCC)、绝对值差值总和(Sum of Absolute Valued Differences,SAVD)和平方差值总和(Sum of Squared Difference,SSD)是三种常用的度量方法。Lucas–Kanade光流法是一种光流估计的差分方法,它计算了两帧图像在t到t+δt时间内每个像素点位置的移动,广泛应用于图像速度计算当中。相位相关算法是一种利用傅立叶变换的性质的图像配准方法。图像的特征矩阵经过傅立叶变换后,时域上的相关运算就可以转化为频域上的运算。图像发生平移时,对应的幅值谱不变,相位相关算法就是根据这一原理提出的。

上述三种云位移矢量计算方法存在着三方面的缺陷。第一,计算效率较低,当前的三种计算方法均是对云图全域进行位移矢量计算,计算的数据量相对较大,特别是对像素点众多的卫星云图而言,分析一张云图的时间极长,无法满足超短期预测实时性的要求。第二,计算精度较低,由于云团在运动过程中存在着生消形变现象,且这三种算法在计算位移矢量时无法准确定位云团位置,因此得到的位移矢量结果往往与实际存在较大偏差。第三,得到的信息量少,Lucas–Kanade光流法和相位相关算法得到的是整张云图的位移矢量结果,块匹配法得到的是云图各紧列的块区域的位移矢量值,而云图内各云团是随机分布的,且各云团间及同一云团不同区域的速度都有所不同,目前算法得到的信息并无法反映这一现象。

发明内容

本发明实施例提供一种基于云团边缘识别的云团位移矢量计算方法及装置,用以解决现有技术中云位移矢量计算的效率低、精度低,且得到的信息量少的缺陷,实现获取云团不同位置的位移矢量,并提高了计算效率和精度。

本发明实施例提供一种基于云团边缘识别的云团位移矢量计算方法,包括:

从当前云图中分割出云团区域;

提取每个云团区域的外边缘;

在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;

根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述从当前云图中分割出云团区域,包括:

基于阈值分割方法对所述当前云图进行分割,获取所述当前云图中的初始云团;

基于当前膨胀系数对所述初始云团进行膨胀操作,生成新的云团;

统计像素个数大于预设像素个数阈值的新的云团的数量,若所述数量小于预设云团数量阈值,则增大当前膨胀系数;

使用增大的当前膨胀系数再次对所述初始云团进行膨胀操作,直到生成的所述新的云团的数量大于或等于所述预设云团数量阈值;

将最后一次迭代中生成的新的云团作为从所述当前云图中分割出的云团区域。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述提取每个云团区域的外边缘,包括:

从每个云团区域的外边缘上选择任一最高点作为寻找每个云团区域的外边缘的初始点;

对于上次寻找的任一云团区域的边缘点,根据所述边缘点的边缘类型,以及与所述边缘点相邻的像素点,寻找该云团区域的下一边缘点,并确定所述下一边缘点的边缘类型,直到所述下一边缘点与该云团区域的外边缘的初始点重合且迭代次数大于3;

其中,所述边缘类型包括上边缘、下边缘、左边缘和右边缘;边缘类型为上边缘的边缘点的上侧相邻像素点为所述当前云图的背景,边缘类型为下边缘的边缘点的下侧相邻像素点为所述背景,边缘类型为左边缘的边缘点的左侧相邻像素点为所述背景,边缘类型为右边缘的边缘点的右侧相邻像素点为所述背景;

将寻找的该云团区域的所有边缘点作为该云团区域的外边缘的像素点。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述根据所述边缘点的边缘类型,以及与所述边缘点相邻的像素点,寻找该云团区域的下一边缘点,并确定所述下一边缘点的边缘类型,包括:

若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点为该云团区域内的像素点,则将所述边缘点的右上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点;

若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点为所述背景,右侧相邻像素点为该云团区域内的像素点,则将所述边缘点的右侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点;

若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点和右侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点为该云团区域内的像素点,则将所述边缘点的左下角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点为所述背景,左侧相邻像素点为该云团区域内的像素点,则将所述边缘点的左侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点和左侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点为该云团区域内的像素点,则将所述边缘点的左上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点为所述背景,上侧相邻像素点为该云团区域内的像素点,则将所述边缘点的左侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点和上侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点为该云团区域内的像素点,则将所述边缘点的右上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点为所述背景,下侧相邻像素点为该云团区域内的像素点,则将所述边缘点的下侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点和下侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,包括:

将每个云团区域的外边缘的像素点沿着顺时针的顺序依次进行排序;

对于上一次从排序结果中确定的中心点,从所述排序结果中检索横坐标与上一次确定的中心点的横坐标之差等于所述块区域的边长,或者纵坐标与上一次确定的中心点的纵坐标之差等于所述块区域的边长的像素点集;

从所述像素点集中选择在所述排序结果中位于上一次确定的中心点之后的像素点,将选择的像素点中距离所述上一次确定的中心点距离最近的像素点作为所述块区域的中心点,直到所述最近的像素点为所述排序结果中的最后一个像素点。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,之后还包括:

根据各所述中心点确定的先后顺序,对所述中心点进行排序;

从所述中心点的排序结果中依次选择一个中心点;

对于选择的中心点之后的任一中心点,计算该中心点所在的块区域与所述选择的中心点所在的块区域之间的重叠度;

若所述重叠度大于预设重叠度阈值,则从所述中心点的排序结果中删除该中心点。

根据本发明一个实施例的基于云团边缘识别的云团位移矢量计算方法,所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,之后还包括:

根据最后一次对所述初始云团进行膨胀操作的当前膨胀系数和各块区域的中心点的边缘类型,对各块区域的中心点的位置进行修改;

其中,所述边缘类型包括上边缘、下边缘、左边缘和右边缘;边缘类型为上边缘的中心点的上侧相邻像素点为所述当前云图的背景,边缘类型为下边缘的中心点的下侧相邻像素点为所述背景,边缘类型为左边缘的中心点的左侧相邻像素点为所述背景,边缘类型为右边缘的中心点的右侧相邻像素点为所述背景。

本发明实施例还提供一种基于云团边缘识别的云团位移矢量计算装置,包括:

分割模块,用于从当前云图中分割出云团区域;

提取模块,用于提取每个云团区域的外边缘;

确定模块,用于在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;

计算模块,用于根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于云团边缘识别的云团位移矢量计算方法的步骤。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于云团边缘识别的云团位移矢量计算方法的步骤。

本发明实施例提供的基于云团边缘识别的云团位移矢量计算方法及装置,通过提取云图中每个云图区域的外边缘,在每个云团区域的外边缘上确定块区域的中心点,基于块匹配算法计算各块区域的位移矢量,一方面,由于只有云团的边缘运动信息对云图位移矢量计算是有价值的,因此仅针对云团边缘上的各块区域进行计算位移矢量,提高了计算效率;另一方面,通过块匹配算法得到云团外边缘各位置处的位移矢量,使得各云团不同位置的位移矢量信息得以充分表达,提高了云团位移矢量计算的精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于云团边缘识别的云团位移矢量计算方法的流程示意图;

图2是本发明实施例提供的一种基于云团边缘识别的云团位移矢量计算方法的完整流程示意图;

图3是本发明实施例提供的一种基于云团边缘识别的云团位移矢量计算装置的结构示意图;

图4是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1描述本发明实施例的一种基于云团边缘识别的云团位移矢量计算方法,该方法包括:步骤101,从当前云图中分割出云团区域;

其中,当前云图为需要进行位移矢量计算的云图。云图中包括云团区域和背景区域。使用分割算法从当前云图中分割出云团区域。本实施例不限于具体的分割方法。

步骤102,提取每个云团区域的外边缘;

当前云图的分割结果可以看成是二值云图。其中,二值云图中背景区域的像素值均相同,为0;云团区域的像素值均相同,为1。因此,二值云图并不能反映云团的运动信息,只有云团的边缘运动信息是有价值的。因此,本实施例提取每个云团区域的外边缘。

步骤103,在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;

在得到每个云团区域的外边缘后,从外边缘上选择边缘点作为块区域的中心点。本实施例不限于具体的选择方法。通过块区域的中心点的选择使得块区域均匀分布在云团区域的外边缘上。

步骤104,根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

其中,块匹配算法基于当前云图中一定大小的分区域,按照一定的度量方法,在当前云图的前后帧的一定范围内寻找最佳匹配分区域。本实施例对度量方法不作限定。每个云图区域的边缘上各块区域的位移矢量即为每个云图区域的边缘的位移矢量。

本实施例通过提取云图中每个云图区域的外边缘,在每个云团区域的外边缘上确定块区域的中心点,基于块匹配算法计算各块区域的位移矢量,一方面,由于只有云团的边缘运动信息对云图位移矢量计算是有价值的,因此仅针对云团边缘上的各块区域进行计算位移矢量,提高了计算效率;另一方面,通过块匹配算法得到云团外边缘各位置处的位移矢量,使得各云团不同位置的位移矢量信息得以充分表达,提高了云团位移矢量计算的精度。

在上述实施例的基础上,本实施例中所述从当前云图中分割出云团区域,包括:基于阈值分割方法对所述当前云图进行分割,获取所述当前云图中的初始云团;

其中,阈值分割方法根据当前云图中云团区域和背景区域某些参数值的不同,从而设定相应的阈值将二者区分开来。常用的阈值分割方法为最大类间方差法,其根据当前云图中各像素的灰度差异,将当前云图分成了云团区域和背景区域两个部分,当云团区域和背区域景的类间方差达到最大值时,说明这两部分之间的区别最为明显,此时的分割最为准确,使得类间方差最大的阈值即为设定的阈值。类间方差g的计算公式如下:

g=w

式中,w

基于当前膨胀系数对所述初始云团进行膨胀操作,生成新的云团;统计像素个数大于预设像素个数阈值的新的云团的数量,若所述数量小于预设云团数量阈值,则增大当前膨胀系数;使用增大的当前膨胀系数再次对所述初始云团进行膨胀操作,直到生成的所述新的云团的数量大于或等于所述预设云团数量阈值;将最后一次迭代中生成的新的云团作为从所述当前云图中分割出的云团区域。

当前云图中除了包含大片的块状云外,往往还分布着大量零碎的小片云。若对所有云团都单独进行位移矢量计算,则会大大降低计算效率。事实上,位置相近的云团往往具有相似的运动速度和运动趋势。因此,可以将地理位置相近的云团视为一个整体,通过计算整体云团各个位置的移动速度,来近似代表该位置处不同小片云的移动速度,从而在有效提高计算效率的同时保证计算精度。

本实施例根据物理间隔对云团区域进行划分。当不同云团之间的最小距离小于设定的距离阈值时,将这些云团视为同一云团区域。判断云团距离是否小于阈值的方法通过膨胀操作实现。在图像学中,云团可以表示为二维矩阵,膨胀操作可实现该二维矩阵向四周的均匀扩张,扩张大小由膨胀系数width确定。当膨胀后的两个云团矩阵发生相连,则二者被划分为同一个云团区域。

具体算法如下:

步骤1,输入:经最大类间方差法处理后得到二值云图;

步骤2,初始化:设定初始膨胀系数width=1;

步骤3,当前云图内所有云团膨胀width像素;

步骤4,统计云图中像素个数大于预设像素个数阈值S

步骤5,当m<预设云团数量阈值m

步骤6,输出膨胀系数width及云团区域划分结果。

在上述实施例的基础上,本实施例中所述提取每个云团区域的外边缘,包括:从每个云团区域的外边缘上选择任一最高点作为寻找每个云团区域的外边缘的初始点;对于上次寻找的任一云团区域的边缘点,根据所述边缘点的边缘类型,以及与所述边缘点相邻的像素点,寻找该云团区域的下一边缘点,并确定所述下一边缘点的边缘类型,直到所述下一边缘点与该云团区域的外边缘的初始点重合且迭代次数大于3;其中,所述边缘类型包括上边缘、下边缘、左边缘和右边缘;边缘类型为上边缘的边缘点的上侧相邻像素点为所述当前云图的背景,边缘类型为下边缘的边缘点的下侧相邻像素点为所述背景,边缘类型为左边缘的边缘点的左侧相邻像素点为所述背景,边缘类型为右边缘的边缘点的右侧相邻像素点为所述背景;将寻找的该云团区域的所有边缘点作为该云团区域的外边缘的像素点。

具体地,对于每个云团区域的外边缘的提取,其本质上为一个寻找封闭曲线问题。由于云团区域内部空洞的存在,现有的寻找封闭曲线方法,如深度优先算法、4或8连通域法并不适用。因此本实施例基于边缘类型判断策略寻找云团区域的外边缘,边缘类型判断策略根据边缘点的边缘类型,以及与边缘点相邻的像素点为云团像素或背景像素寻找下一边缘点。

具体算法如下:

步骤1,初始化:选择外边缘任一最高点(x

步骤2,基于点(x

步骤3,基于边缘类型判断策略判断点(x

步骤4,当i<3,转到步骤2;当i≥3,转到步骤5;

步骤5,判断点(x

步骤6,输出云团区域外边缘的像素点矩阵为E=[(x

在上述实施例的基础上,本实施例中所述根据所述边缘点的边缘类型,以及与所述边缘点相邻的像素点,寻找该云团区域的下一边缘点,并确定所述下一边缘点的边缘类型,包括:若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点为该云团区域内的像素点,则将所述边缘点的右上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点;

边缘类型判断策略如表1至表4所示,描述了云团不同类型边缘点周遭像素值所有可能的分布情况及应采取的判断策略。以上边缘点的情况为例,记该边缘点的坐标为(x,y),边缘点的右上角相邻像素点的坐标为(x+1,y-1)。若(x+1,y-1)处的像素值为1,无论右侧相邻像素点(x+1,y)的像素值为0还是1,下一边缘点的位置均为右上角(x+1,y-1)处,且下一边缘点的边缘类型为左边缘点,如表1中的第一行和第二行所示。其中,表1中的1表示云团区域内的像素点,0表示背景像素点。

若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点为所述背景,右侧相邻像素点为该云团区域内的像素点,则将所述边缘点的右侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点,如表1中的第三行所示;

若所述边缘点的边缘类型为上边缘,且所述边缘点的右上角相邻像素点和右侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点,如表1中的第四行所示;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点为该云团区域内的像素点,则将所述边缘点的左下角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点,如表2中的第一行和第三行所示;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点为所述背景,左侧相邻像素点为该云团区域内的像素点,则将所述边缘点的左侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点,如表2中的第二行所示;

若所述边缘点的边缘类型为下边缘,且所述边缘点的左下角相邻像素点和左侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点,如表2中的第四行所示;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点为该云团区域内的像素点,则将所述边缘点的左上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点,如表3中的第一行和第二行所示;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点为所述背景,上侧相邻像素点为该云团区域内的像素点,则将所述边缘点的左侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为左边缘点,如表3中的第三行所示;

若所述边缘点的边缘类型为左边缘,且所述边缘点的左上角相邻像素点和上侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点,如表3中的第四行所示;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点为该云团区域内的像素点,则将所述边缘点的右上角相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为上边缘点,如表4中的第一行和第三行所示;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点为所述背景,下侧相邻像素点为该云团区域内的像素点,则将所述边缘点的下侧相邻像素点作为所述下一边缘点,所述下一边缘点的边缘类型为右边缘点,如表4中的第二行所示;

若所述边缘点的边缘类型为右边缘,且所述边缘点的右下角相邻像素点和下侧相邻像素点均为所述背景,则将所述边缘点作为所述下一边缘点,所述下一边缘点的边缘类型为下边缘点,如表4中的第四行所示。

本实施例中的云团边缘类型判断策略,对于不同类型的边缘点采取不同的处理策略,实现了云团外边缘的精确寻找。

表1上边缘的下一边缘点寻找

表2下边缘的下一边缘点寻找

表3左边缘的下一边缘点寻找

表4右边缘的下一边缘点寻找

在上述实施例的基础上,本实施例中所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,包括:将每个云团区域的外边缘的像素点沿着顺时针的顺序依次进行排序;对于上一次从排序结果中确定的中心点,从所述排序结果中检索横坐标与上一次确定的中心点的横坐标之差等于所述块区域的边长,或者纵坐标与上一次确定的中心点的纵坐标之差等于所述块区域的边长的像素点集;

具体地,在得到云团区域外边缘的所有像素点的坐标后,将这些像素点的坐标沿顺时针的顺序依次排列,即以二维矩阵的形式存储。要使块区域均匀地分布在云团区域的外边缘上,则块区域间应恰好接壤,即相邻块区域间的横坐标或纵坐标之差等于块区域的边长l。因此,只要以外边缘的初始坐标点为起点、依次在二维矩阵中检索横坐标或纵坐标之差等于块区域边长的像素点,即可依次确定所有块区域的中心点坐标。

从所述像素点集中选择在所述排序结果中位于上一次确定的中心点之后的像素点,将选择的像素点中距离所述上一次确定的中心点距离最近的像素点作为所述块区域的中心点,直到所述最近的像素点为所述排序结果中的最后一个像素点。

块区域的中心点定位算法步骤如下:

步骤1,初始化:确定云团区域的外边缘坐标矩阵中起始点(x

步骤2,依次在点坐标矩阵中检索与点(x

步骤3,选择点坐标集中位置编号大于(x

步骤4,当i+1<矩阵列数i

步骤5,得到块区域的中心点矩阵F=[(x

在上述实施例的基础上,本实施例中所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,之后还包括:根据各所述中心点确定的先后顺序,对所述中心点进行排序;从所述中心点的排序结果中依次选择一个中心点;对于选择的中心点之后的任一中心点,计算该中心点所在的块区域与所述选择的中心点所在的块区域之间的重叠度;若所述重叠度大于预设重叠度阈值,则从所述中心点的排序结果中删除该中心点。

具体地,由于云团区域的形状不规则,部分块区域中心点实际距离较近,块区域重叠度较高。为此需对重叠度较高的块区域进行处理,当二者重合率大于预设重叠度阈值w

步骤1,确定F中的(x

步骤2,对于坐标点(x

步骤3,当j

步骤4,得到重叠度优化后的块区域中心点矩阵H。

在上述实施例的基础上,本实施例中所述在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,之后还包括:根据最后一次对所述初始云团进行膨胀操作的当前膨胀系数和各块区域的中心点的边缘类型,对各块区域的中心点的位置进行修改;其中,所述边缘类型包括上边缘、下边缘、左边缘和右边缘;边缘类型为上边缘的中心点的上侧相邻像素点为所述当前云图的背景,边缘类型为下边缘的中心点的下侧相邻像素点为所述背景,边缘类型为左边缘的中心点的左侧相邻像素点为所述背景,边缘类型为右边缘的中心点的右侧相邻像素点为所述背景。

具体地,由于对当前云图使用膨胀系数width进行过膨胀操作,因此需要对块区域中心的位置进行修正。对于

得到位置修正后的块区域中心点矩阵H'=[(x'

基于绝对值差值总和的块匹配法SAVD,对所有块区域中心点所在块区域进行位移矢量计算,输出每个云团区域中各区域块的位移矢量结果Lx=(lx

如图2所示,本实施例提供的基于云团边缘识别的云团位移矢量计算方法的完整流程包括:在在云图二值化的基础上,首先确定膨胀参数width,实现对空间内所有云团的区域划分;然后采用云团外边缘寻找方法,基于边缘类型判断策略,确定各云团区域外边缘的像素点构成;接着采用块区域中心定位算法,沿云团外边缘依次确定块区域中心点坐标,并进行块区域重叠度优化及块区域中心点位置修正;最终根据得到的块区域位置,调用基于绝对值差值总和的块匹配法SAVD进行各块区域位移矢量计算,进而得到各云团区域的块区域位移矢量计算结果。本实施例使得各个云团不同位置的位移矢量信息得以表达,并提高计算效率与精度。

下面对本发明实施例提供的基于云团边缘识别的云团位移矢量计算装置进行描述,下文描述的基于云团边缘识别的云团位移矢量计算装置与上文描述的基于云团边缘识别的云团位移矢量计算方法可相互对应参照。

如图3所示,该装置包括分割模块301、提取模块302、确定模块303和计算模块304,其中:

分割模块301用于从当前云图中分割出云团区域;

其中,当前云图为需要进行位移矢量计算的云图。云图中包括云团区域和背景区域。使用分割算法从当前云图中分割出云团区域。本实施例不限于具体的分割方法。

提取模块302用于提取每个云团区域的外边缘;

当前云图的分割结果可以看成是二值云图。其中,二值云图中背景区域的像素值均相同,为0;云团区域的像素值均相同,为1。因此,二值云图并不能反映云团的运动信息,只有云团的边缘运动信息是有价值的。因此,本实施例提取每个云团区域的外边缘。

确定模块303用于在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;

在得到每个云团区域的外边缘后,从外边缘上选择边缘点作为块区域的中心点。本实施例不限于具体的选择方法。通过块区域的中心点的选择使得块区域均匀分布在云团区域的外边缘上。

计算模块304用于根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

其中,块匹配算法基于当前云图中一定大小的分区域,按照一定的度量方法,在当前云图的前后帧的一定范围内寻找最佳匹配分区域。本实施例对度量方法不作限定。每个云图区域的边缘上各块区域的位移矢量即为每个云图区域的边缘的位移矢量。

本实施例通过提取云图中每个云图区域的外边缘,在每个云团区域的外边缘上确定块区域的中心点,基于块匹配算法计算各块区域的位移矢量,一方面,由于只有云团的边缘运动信息对云图位移矢量计算是有价值的,因此仅针对云团边缘上的各块区域进行计算位移矢量,提高了计算效率;另一方面,通过块匹配算法得到云团外边缘各位置处的位移矢量,使得各云团不同位置的位移矢量信息得以充分表达,提高了云团位移矢量计算的精度。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行基于云团边缘识别的云团位移矢量计算方法,该方法包括:从当前云图中分割出云团区域;提取每个云团区域的外边缘;在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的基于云团边缘识别的云团位移矢量计算方法,该方法包括:从当前云图中分割出云团区域;提取每个云团区域的外边缘;在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于云团边缘识别的云团位移矢量计算方法,该方法包括:从当前云图中分割出云团区域;提取每个云团区域的外边缘;在每个云团区域的外边缘上确定沿所述外边缘分布的各块区域的中心点,并根据各块区域的中心点确定各块区域的位置;根据各块区域的位置,基于块匹配算法计算各块区域的位移矢量。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号