一种规则形状检测方法和系统与流程

文档序号:12604212阅读:282来源:国知局
一种规则形状检测方法和系统与流程

本申请一般涉及图像处理和计算机视觉领域,且更具体地,涉及一种规则形状检测方法和系统。



背景技术:

规则形状(或多边形)是指具有各内角相等及各边也相等的多边形。圆形可以认为是规则多边形边数逐渐增大趋于无穷的极限情况。规则形状的大小可以被定义为内切圆的半径大小,即规则形状的中心点到各个边(在圆形的情况下,曲线边的切线)的垂直距离。

在相关技术中,一般有三类形状检测方法:1)利用颜色信息,具有特定含义的规则形状通常被设计为具有特殊的颜色来更好地引起显著的关注;2)利用形状信息,规则形状具有某些对称性质可以作为先验信息加以利用;3)利用视觉关注(感知)模型,模拟人类视觉感知系统来检测图像中最显著的物体和形状,这些物体往往具有特定的颜色或形状特征。

然而,在上述方法中,基于颜色特征的方法容易受到光照不足或恶劣天气条件的影响,例如雾霾或雨雪天气,而视觉关注模型并不是特别针对规则形状检测而设计,因此在规则形状检测上往往得不到令人满意的结果。同时,基于形状信息检测的方法需要克服诸如形状旋转变形或局部遮挡等问题。

存在对能够有效利用图像自身结构信息快速鲁棒地检测规则形状的技术的需要。



技术实现要素:

根据本发明的一个方面,提供一种规则形状检测方法,包括如下步骤:对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像;基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径;基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性; 将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中;基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。

根据本发明的另一方面,提供一种规则形状检测系统,包括:边缘检测装置,被配置为对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像;边缘等距点提取装置,被配置为基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径;局部朝向属性分析装置,被配置为基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性;聚类装置,被配置为将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中;聚合分析装置,被配置为基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。

附图说明

图1是例示应用本发明的各个实施例的硬件结构的示意图。

图2是例示根据本发明的一个实施例的规则形状检测方法的流程图。

图3A是例示的输入图像;图3B是例示的边缘图像。

图4是例示边缘等距点的定义。

图5是例示边缘等距点的空间分布。

图6是例示边缘等距点的局部朝向属性分析的一个示例过程的流程图。

图7是例示边缘等距点的局部朝向属性分析在三角形、圆形和单边的不同情况下的示意图。

图8是例示边缘等距点的分组的聚合分析以输出规则形状类型、朝向和/或大小的一个示例过程的流程图。

图9是例示边缘等距点的分组的聚合分析在三角形、圆形和单边的不同情况下的示意图。

图10A是例示原始图像以及检测得到的候选规则形状的类型、朝向和大小的示意图;图10B是例示原始图像以及检测得到的验证和优化后的规则形状的类型、朝向和大小的示意图。

图11是例示根据本发明的另一个实施例的规则形状检测系统的方框图。

图12示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。

具体实施方式

现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但将理解,不是想要将本发明限于所述的实施例。相反,想要覆盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。

为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。

图1是例示应用本发明的各个实施例的硬件结构的示意图。

如图1所示,整个系统包括四个模块,分别为图像捕获模块110、核心处理模块120、存储器模块130及用户交互界面140。当然,这仅是示例而非限制,实际上,可以根据实际情况来增加或删除各种硬件。

图2是例示根据本发明的一个实施例的规则形状检测方法的流程图。

如图2所示的规则形状检测方法200包括如下步骤:步骤201,对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像;步骤202,基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径;步骤203,基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性;步骤204,将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中;步骤205,基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。

如此,根据边缘检测后得到的边缘图像中提取的边缘等距点的空间分布,可以分析这些边缘等距点的空间属性、例如分布较多的边缘等距点(例如集中点)周围的其他边缘等距点组成的直线(或曲线、单个点等)的局部朝向属性,根据规则形状通常包括相似的局部朝向属性的边缘等距点(例如,三角形包括具有120度(或60度)夹角的局部朝向属性等)的原理,来将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组 中,并聚合分析该同一分组中的边缘等距点的局部朝向属性以及空间位置(例如,三角形包括具有120度(或60度)夹角的局部朝向属性,以及边缘等距点的集中点的连线之间的夹角和朝向与局部朝向属性重合等),来聚合分析候选规则形状的类型。

具体地,在步骤201中,对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像。在现有技术中,边缘检测的算法有很多种。基于搜索的边缘检测方法首先计算边缘强度,通常用一阶导数表示,例如梯度模,然后,用计算估计边缘的局部方向,通常采用梯度的方向,并利用此方向找到局部梯度模的最大值。基于零交叉的方法找到由图像得到的二阶导数的零交叉点来定位边缘。通常用拉普拉斯算子或非线性微分方程的零交叉点。一阶导数的算子可以包括:Roberts Cross算子、Prewitt算子、Sobel算子、Kirsch算子、罗盘算子等。二阶导数的算子可以包括:Marr-Hildreth、在梯度方向的二阶导数过零点、Canny算子、Laplacian算子等。在本说明书中,仅采用梯度算法作为例子来计算边缘强度,但很显然,该例子仅是示例而非限制,本领域技术人员在实践中可以采用其他各种边缘检测算法来实现边缘检测的目的。

如此,可以获得呈现各个边缘的边缘图像,在该边缘图像中,可以存在规则形状的边缘形状(对应于实际的规则形状的物体)以及其他各种形状的边缘形状。下面各步骤可以从边缘图像中寻找具有规则形状的边缘形状,以此为基础来判断实际的规则形状。

在步骤202中,基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径。具体地,边缘图像中的边缘可能是直线的、也可能是曲线的。如果是直线的,则边缘等距点到该直线的垂直距离等于所述设置的半径,而如果是曲线的,则边缘等距点到该曲线的某处的切线的垂直距离等于所述设置的半径。

该步骤202可以包括:采用径向对称变换算法来提取距离其最近的边缘像素点的距离为该设置的半径的边缘等距点;保留在同一像素点处的边缘等距点的数量大于预定过滤阈值的边缘等距点。当然,在此,径向对称变换算法仅是一个示例,而非限制,本领域技术人员还可以采用其他算法、例如来提取边缘等距点。

通常,通过实际的规则图形的边缘得到的边缘等距点的分布也呈现规则 的图形,而实际的规则图形与边缘等距点的规则的图形之间通常是成比例的关系,即形状可能相似,但大小可能不同。因此,通过研究和分析这些边缘等距点的分布,可以根据规则图形的规律来寻找边缘等距点的分布的规律,进而确定候选的规则形状和可能更进一步的实际的规则形状。

在步骤203中,基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性。由于针对边缘图像中的所有边缘都提取边缘等距点,则可以获得这些边缘等距点组成的分布图,而通过该分布图,可以得到某些集中了较多边缘等距点的集中点周围的边缘等距点的分布,例如在该集中点周围集中了呈现直线形态的若干边缘等距点,则可以获得明显的局部朝向属性(例如,直线的方向作为局部朝向);如果在该集中点周围分散分布了无明显直线形态的若干边缘等距点,则获得不明显的局部朝向属性,即没有明显的直线的方向。

例如,可以采用独立成分分析算法(Independent component analysis,ICA)来分析所述局部窗口内的边缘等距点的局部朝向属性。当然,独立成分分析算法仅是示例,还可以采用其他分析算法、例如主成分分析(Principal Component Analysis,PCA)等。

在步骤204中,将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中。在该步骤中,在局部窗口内寻找具有相似的局部朝向属性的边缘等距点,因为实际的规则形状的边缘会得到类似规则形状的边缘等距点的分布。例如,实际的等边多边形会得到类似等边多边形的边缘等距点的分布,而在这种分布中,边缘等距点通常具有相似的局部朝向属性,例如,具有夹角在120或60度的局部朝向属性,则可能是等边三角形,等等。因此,先将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中可以减少需要聚合分析的工作量,而仅从能够聚类到同一分组中的这些边缘等距点的分布来聚合分析候选规则形状的类型,如以下步骤205。

在步骤205中,基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。由于同一分组中的边缘等距点都具有相似的局部朝向属性,则可以通过规则形状的边的直线朝向规律以及规则形状的顶点的分布规律,来聚合分析同一分组中的边缘等距点的局部朝向属性以及空间位置,来推测候选规则形状的类型。

具体地,在一个实施例中,步骤205可以包括:如果一个像素点处的边缘等距点的个数高于第一阈值,则根据该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向及这些局部朝向方向的个数来判断候选规则形状的边数以及形状的旋转角度;如果多个像素点处的边缘等距点的个数低于第一阈值而高于第二阈值,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型,其中,所述第一阈值高于所述第二阈值。

具体地,在前一种情况下,如果一个像素点处的边缘等距点的个数高于第一阈值,则可能在步骤202中设置的半径正好基本上是实际存在的某一规则形状的半径,则可能以这种半径得到的各个边缘等距点都汇聚在该规则形状的中心点处或周围,则在该中心点的像素处或周围出现的边缘等距点的数量应该是很大的。因此,设置一个较大的第一阈值,来筛选出这种情况。在这种情况下,可以根据该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向及这些局部朝向方向的个数来判断候选规则形状的边数以及形状的旋转角度:具体地,如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是在360度范围内均匀分布的、且这些局部朝向方向的个数很多,则该规则形状更可能是圆形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现120度(或60度)夹角的、且这些局部朝向方向的个数大约是3个,则该规则形状更可能是等边三角形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现90度夹角的、且这些局部朝向方向的个数大约是4个,则该规则形状更可能是正方形(等边四角形);……如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现360度/n的夹角的、且这些局部朝向方向的个数大约是n个,则该规则形状更可能是等边n角形,n为大于或等于3的正整数。

在后一种情况下,如果多个像素点处的边缘等距点的个数低于第一阈值而高于第二阈值,即,个数并非很多,则可能在步骤202中设置的半径大于或小于实际存在的某一规则形状的半径,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型。

在一个实施例中,上述如果多个像素点处的边缘等距点的个数低于第一 阈值而高于第二阈值,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型的步骤可以包括:如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示明显的两个局部朝向方向,则判断候选规则形状的类型为多边形,以及根据该两个局部朝向方向之间的夹角、以及所述每个像素点处的边缘等距点之间的连线与该夹角的重合度来进一步判断多边形的边数;如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示没有明显的局部朝向方向,则判断该候选规则形状的类型为圆形;如果每个像素点处的边缘等距点的局部朝向属性指示仅具有明显的一个局部朝向方向,则判断不存在候选规则形状。

在一个实施例中,上述如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示明显的两个局部朝向方向,则判断候选规则形状的类型为多边形,以及根据该两个局部朝向方向之间的夹角、以及所述每个像素点处的边缘等距点之间的连线与该夹角的重合度来进一步判断多边形的边数的步骤包括:如果该两个局部朝向方向之间的夹角基本上等于360°/n,且存在边缘等距点的个数低于第一阈值而高于第二阈值的n个像素点,且该n个像素点之间的连线与各个局部朝向方向基本重合,则判断该多边形的边数为n,其中,n为大于或等于3的正整数。

在一个实施例中,该方法200还可以包括如下步骤:验证候选规则形状的类型;优化候选规则形状的大小和旋转角度信息;输出验证和优化后的规则形状。由于,在步骤202中,设置了一个初始的半径,来通过步骤203-205得到了候选规则形状的类型。接下来,如果需要更精确的信息、例如实际的规则形状的类型、其实际的半径、以及其实际的旋转角度信息(例如,三角形是正三角形还是倒三角形还是其他任何旋转角度,等等),则进一步验证候选规则形状的类型,如下详细描述的。

在一个实施例中,所述验证候选规则形状的类型的步骤可以包括:根据候选规则形状的类型,估计该候选规则形状的中心点;基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离,来向所述设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径;在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘;如果是,则验证候选规则形状的类型是该规则形状,且将检测 到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径;如果否,则验证候选规则形状的类型不是该规则形状。

在此,由于在步骤202中初步设置的半径不一定是实际的规则形状的半径,而利用该初步设置的半径得到的边缘等距点所组成的类似规则的图形与实际规则形状的图形之间通常是成比例的关系,而该关系可能是:该初步设置的半径加上或减去该边缘等距点所组成的类似规则的图形的半径可能等于实际的规则形状的半径。但是,具体是加上还是减去,需要进一步验证。因此,基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,边缘等距点所组成的类似规则的图形的半径),来向所述设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径,且在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘。如果是,则验证候选规则形状的类型是该规则形状,且将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径;如果否,则验证候选规则形状的类型不是该规则形状。

在一个实施例中,所述优化候选规则形状的大小和旋转角度信息的步骤可以包括:如果验证候选规则形状的类型是该规则形状,则确定检测到规则形状的边缘的半径的大小;基于确定的半径的大小和检测到的规则形状的边缘,来得到优化的规则形状的大小和旋转角度信息。在此,可以将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径的大小。另外,可以通过检测到的实际的规则形状的边缘来获得该规则形状的旋转角度信息,例如,等边三角形是正三角形还是倒三角形还是其他旋转角度等等。

如此,根据边缘检测后得到的边缘图像中提取的边缘等距点的空间分布,可以分析这些边缘等距点的空间属性、例如分布较多的边缘等距点(例如集中点)周围的其他边缘等距点组成的直线(或曲线、单个点等)的局部朝向属性,根据规则形状通常包括相似的局部朝向属性的边缘等距点(例如,三角形包括具有120度(或60度)夹角的局部朝向属性等)的原理,来将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中,并聚合分析该同一分组中的边缘等距点的局部朝向属性以及空间位置(例如,三角形包括具有120度(或60度)夹角的局部朝向属性,以及边缘等距点的集中点的连线之间的夹角和朝向与局部朝向属性重合等),来聚合分析候 选规则形状的类型。并且,可以通过基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,边缘等距点所组成的类似规则的图形的半径),来向初步设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径,且在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘,从而进一步验证是否存在规则形状,以及优化该实际的规则形状的半径大小和旋转角度信息。

以下描述基于具体的输入图像示例而进行的本技术的方法的具体流程以及相应示意图。

注意,接下来要介绍的示例仅是一个具体的例子,而不作为限制本发明的实施例必须为如下具体的步骤、数值、条件、数据、顺序等等。本领域技术人员可以通过阅读本说明书来运用本发明的构思来构造本说明书中未提到的更多实施例。

图3A是例示的输入图像;图3B是例示的边缘图像。

在该例子中,基于如3A输入的图像数据,提取梯度图像。可利用sobel算子或其他相关图像操作子以获得输入图像数据的梯度图像。根据所生成的梯度图像的梯度幅值提取边缘像素点,从而构成边缘图像,如图3B所示。

图4是例示边缘等距点的定义。

在本步骤中,根据生成边缘图像,提取边缘等距点。边缘等距点的定义如图4所示,即为到一堆边缘点距离相等的像素点位置。提取边缘等距点的方法可以有多种现有技术进行利用。在本实施例中,采用径向对称变换方法进行提取。给定一个初步设置的预定半径R,提取距离其最近的边缘点的距离为R的边缘等距点。半径R不一定是要检测的规则形状物体的实际大小,容忍具有一定的偏差。

边缘等距点的检测结果示意图如图5所示。图5是例示边缘等距点的空间分布。其中,白色点代表边缘等距点。因此,在图中看出,白色越明显,代表这个位置处的边缘等距点越多。在这个分布图中,可以定义一个预设的阈值来过滤在同一像素点处边缘等距点个数小于预设的阈值的像素点,从而排除噪声点的干扰。在图5中,假设用白色圆圈标出的局部窗口中的白色部分处的边缘等距点的个数都大于或等于上述预设的阈值。因此,将这样的边缘等距点保留下来,以进行接下来的进一步分析。

图6是例示边缘等距点的局部朝向属性分析的一个示例过程的流程图。

在本步骤中,进行边缘等距点的局部朝向属性分析。每个边缘等距点具有自己的局部朝向属性(Local orientation profile)。局部朝向属性包含了该点局部的结构信息,具有多少较强的主朝向成分,每个主朝向成分的方向如何等。图7给出了每个边缘等距点周围进行局部朝向分析的流程图。

首先,在步骤610中,对每个边缘等距点,提取对应的局部窗口,应用自适应阈值过滤局部窗口,保留高于阈值的像素点。该自适应阈值过滤步骤在针对图5的描述中也已经讨论过了。对阈值后的局部窗口内点的空间分布进行朝向分析,提取主要成分朝向信息。可以利用诸多成分分析方法,在本实施例中采用示例而非限制的独立成分分析(Independent component analysis,ICA)的方法,其把数据或信号分离成统计独立的非高斯的信号源的线性组合。即,如图7的中间所示,通过分析边缘等距点的空间分布,可以将一些边缘等距点分析为线性的直线,从而将直线的方向作为朝向信息,从而将穿过该边缘等距点的直线的方向作为该边缘等距点的局部朝向属性信息。

在步骤620中,对这些保留的边缘等距点的局部朝向属性进行分析。具体示例见图7。

图7是例示边缘等距点的局部朝向属性分析在三角形、圆形和单边的不同情况下的示意图。在本例中,例如,对于左上角的三角形图像701,每个边缘等距点的局部朝向属性中将包含有2个主要朝向成分,朝向方向角度大概相差120度(或锐角的60度)。对于圆形和更多的规则多边形702,主要朝向成分将趋于均匀方向分布(即,没有明显的朝向),结果将类似于高斯分布。对于其他的直线图形703来说,边缘等距点的主要朝向成分将只有一个方向的强成分,因此,通过分析规则图形的边缘的边缘等距点的空间分布规律,发现边缘等距点的空间分布具有较好的区分性和排除特性,用于区分规则图形(等边多边形和圆形等)以及不规则图像(例如,各种杂乱的直线等)。边缘等距点的局部朝向属性和/或其空间位置可以提供足够的先验信息用来推断规则形状的特征。

图8是例示边缘等距点的分组的聚合分析以输出规则形状类型、朝向和/或大小的一个示例过程的流程图。

在本步骤中,根据计算得到的每个边缘等距点及其局部朝向属性,聚合分析得以实施来检测候选规则形状的类型,和/或其朝向和大小。聚合分析的流程图如图8所示。

首先,在步骤810中,具有相似的局部朝向属性的边缘等距点结合其所在的空间位置会被聚类到同一个分组当中,如图9所示。图9是例示边缘等距点的分组的聚合分析在三角形、圆形和单边的不同情况下的示意图。其中,以三角形为例(见图9的(a)),在相近的空间位置中,将有三个边缘等距点聚类到同一个分组中,他们都具有2个强的主朝向成分,并且这两个主朝向方向的角度差大致在120度(或60度)左右。在此,该强的主朝向成分可以通过先前提到的独立成分分析法来得到。在后续步骤820中,将会对这三个边缘等距点联合进行分析,即所述的聚合分析。在一些分组中,可能会包含有一些边缘等距点,这些点不太可能构成规则多边形结构(例如,图9的(c)),对于这样的分组将会在后续分析中予以排除。除此之外,根据聚合分析的结果,输出形状类型,朝向以及分组聚类的空间半径大小为所检测候选规则形状的检测结果。

在步骤820中,对这同一分组中的边缘等距点联合进行分析,即聚合分析,来判断候选的规则形状类型、和/或朝向和/或大小(或半径)。

聚类聚合分析可以分如下不同情况处理:

1)给定高阈值Th,首先判断高于阈值Th的点,根据其局部主朝向方向的个数判断其对应的规则形状的边数,以及形状的旋转角度。

这种情况可能是由于在步骤202中设置的半径正好基本上是实际存在的某一规则形状的半径,则可能以这种半径得到的各个边缘等距点都汇聚在该规则形状的中心点处或周围,则在该中心点的像素处或周围出现的边缘等距点的数量应该是很大的。因此,设置一个较高的阈值Th,来筛选出这种情况。在这种情况下,可以根据该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向及这些局部朝向方向的个数来判断候选规则形状的边数以及形状的旋转角度:具体地,如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是在360度范围内均匀分布的、且这些局部朝向方向的个数很多、且可能呈类似高斯分布,则该规则形状更可能是圆形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现120度(或60度)夹角的、且这些局部朝向方向的个数大约是3个,则该规则形状更可能是等边三角形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现90度夹角的、且这些局部朝向方向的个数大约是4个,则该规则形状更可能是正方形(等边四角形);……如果该像素点处的边 缘等距点的局部朝向属性所指示的局部朝向方向是呈现360度/n的夹角的、且这些局部朝向方向的个数大约是n个,则该规则形状更可能是等边n角形,n为大于或等于3的正整数。

2)对于其他低于高阈值Th但高于低阈值Tl的点,则可能在步骤202中设置的半径大于或小于实际存在的某一规则形状的半径,则结合其局部朝向属性和空间位置关系,进行聚类和聚合分析,根据不同的情况进行处理:

a)双边情况:对应于图9(a),在该聚类中,每个点具有明显的两个主要的局部朝向。根据两边夹角以及对应点连线与该夹角的重合度来判断该聚类包含规则形状的类型,分情况处理(注意,在此提到的点可以是在某个局部位置中边缘等距点较多的该局部位置,即边缘等距点集中的集中点):

i.夹角在120度(或60度)附近:对应正三角形情况,该聚类内应该包含有3个点,每个点的夹角均在120度(或60度)左右,且三点之间两两连线与各主方向基本重合,则筛选出对应的构成正三角形的三个候选点集合;

ii.夹角在90度左右:对应四边形情况,该聚类应包含有4个点,每个点的夹角均在90度左右,且四点之间两两连线与主方向基本重合,则筛选出对应构成正四边形的四个候选点的集合;

iii.其他正多边形情况按上述方法推广,即:如果该两个局部朝向方向之间的夹角基本上等于360°/n,且该n个点之间的连线与各个局部朝向方向基本重合,则判断该多边形的边数为n,其中,n为大于或等于3的正整数。。

b)圆形情况:对应于图9(b)图,在该聚类中,每个点不具有明显的局部主朝向,但是在一个小圆范围内存在一个明显的圆环或圆形区域,则该区域对应存在一个圆形的中心点;

c)单边情况:对应于图9(c)图,在该聚类中,每个点仅仅具有一个局部主朝向,则属于原图像中单边的情况,不构成规则多边形的投影结果,因此该种聚类去除。

根据检测得到的对应正多边形形状的顶点集合,可以确定候选正多边形的几何中心和旋转角度,而是否存在实际的正多边形和/或对应的正多边形的实际半径大小和旋转角度则由下述验证和优化步骤来确定。

图10A是例示原始图像以及检测得到的候选规则形状的类型、朝向和大小的示意图;图10B是例示原始图像以及检测得到的验证和优化后的规则形状的类型、朝向和大小的示意图。

最后,候选规则形状的检测结果将会进一步的验证和优化。从候选检测结果中,可以使用后验证处理用来进一步验证候选结果并优化候选形状的大小及旋转角度信息。形状的朝向信息检测结果可以根据之前所提取的边缘图像进行验证,在有效边缘等距点分组的局部窗口空间内进行验证优化。对于形状的实际大小,基于之前初步预定的半径大小R、以及所在分组的边缘等距点组成的形状的半径大小r进行优化。基于候选规则形状的中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,所在分组的边缘等距点组成的规则形状的半径大小r),来向所述设置的半径R增加和减少所述垂直距离r,以得到增加后的半径(R+r)和减少后的半径(R-r);在距离所述中心点的增加后的半径(R+r)和减少后的半径(R-r)周围,检测所述边缘图像中是否存在规则形状的边缘;如果是,则验证候选规则形状的类型是该规则形状,且将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径;如果否,则验证候选规则形状的类型不是该规则形状。可以将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径的大小(R+r或R-r)。另外,可以通过检测到的实际的规则形状的边缘来获得该规则形状的旋转角度信息。

在图10A中,预定形状大小R比物体实际大小略大一些,以虚线显示。图10B显示了示例检测优化结果。如图10B所示,经过后验证处理优化后,物体实际大小得到了调整(R-r),输出的结果以实线显示。

如此,根据边缘检测后得到的边缘图像中提取的边缘等距点的空间分布,可以分析这些边缘等距点的空间属性、例如分布较多的边缘等距点(例如集中点)周围的其他边缘等距点组成的直线(或曲线、单个点等)的局部朝向属性,根据规则形状通常包括相似的局部朝向属性的边缘等距点(例如,三角形包括具有120度(或60度)夹角的局部朝向属性等)的原理,来将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中,并聚合分析该同一分组中的边缘等距点的局部朝向属性以及空间位置(例如,三角形包括具有120度(或60度)夹角的局部朝向属性,以及边缘等距点的集中点的连线之间的夹角和朝向与局部朝向属性重合等),来聚合分析候选规则形状的类型。并且,可以通过基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,边缘等距点所组成的类似规则的图形的半径),来向初步设置的半径增加和减少所述垂直距离,以得到增加后的半径和 减少后的半径,且在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘,从而进一步验证是否存在规则形状,以及优化该实际的规则形状的半径大小和旋转角度信息。

图11是例示根据本发明的另一个实施例的规则形状检测系统的方框图。

如图11所示的规则形状检测系统1100包括如下步骤:边缘检测装置1101,被配置为对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像;边缘等距点提取装置1102,被配置为基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径;局部朝向属性分析装置1103,被配置为基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性;聚类装置1104,被配置为将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中;聚合分析装置1105,被配置为基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。

如此,根据边缘检测后得到的边缘图像中提取的边缘等距点的空间分布,可以分析这些边缘等距点的空间属性、例如分布较多的边缘等距点(例如集中点)周围的其他边缘等距点组成的直线(或曲线、单个点等)的局部朝向属性,根据规则形状通常包括相似的局部朝向属性的边缘等距点(例如,三角形包括具有120度(或60度)夹角的局部朝向属性等)的原理,来将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中,并聚合分析该同一分组中的边缘等距点的局部朝向属性以及空间位置(例如,三角形包括具有120度(或60度)夹角的局部朝向属性,以及边缘等距点的集中点的连线之间的夹角和朝向与局部朝向属性重合等),来聚合分析候选规则形状的类型。

具体地,边缘检测装置1101对输入的图像数据进行边缘检测,以形成包括多个边缘的边缘图像。在现有技术中,边缘检测的算法有很多种。在本说明书中,仅采用梯度算法作为例子来计算边缘强度,但很显然,该例子仅是示例而非限制,本领域技术人员在实践中可以采用其他各种边缘检测算法来实现边缘检测的目的。

如此,可以获得呈现各个边缘的边缘图像,在该边缘图像中,可以存在规则形状的边缘形状(对应于实际的规则形状的物体)以及其他各种形状的 边缘形状。下面各步骤可以从边缘图像中寻找具有规则形状的边缘形状,以此为基础来判断实际的规则形状。

边缘等距点提取装置1102基于设置的半径来提取边缘等距点,其中,所述边缘等距点的每个到多个边缘中的相应的一些边缘的距离等于所述设置的半径。具体地,边缘图像中的边缘可能是直线的、也可能是曲线的。如果是直线的,则边缘等距点到该直线的垂直距离等于所述设置的半径,而如果是曲线的,则边缘等距点到该曲线的某处的切线的垂直距离等于所述设置的半径。

边缘等距点提取装置1102可以采用径向对称变换算法来提取距离其最近的边缘像素点的距离为该设置的半径的边缘等距点;保留在同一像素点处的边缘等距点的数量大于预定过滤阈值的边缘等距点。当然,在此,径向对称变换算法仅是一个示例,而非限制,本领域技术人员还可以采用其他算法、例如来提取边缘等距点。

通常,通过实际的规则图形的边缘得到的边缘等距点的分布也呈现规则的图形,而实际的规则图形与边缘等距点的规则的图形之间通常是成比例的关系,即形状可能相似,但大小可能不同。因此,通过研究和分析这些边缘等距点的分布,可以根据规则图形的规律来寻找边缘等距点的分布的规律,进而确定候选的规则形状和可能更进一步的实际的规则形状。

局部朝向属性分析装置1103基于局部窗口内的边缘等距点的空间分布,分析所述局部窗口内的边缘等距点的集中点处的局部朝向属性。由于针对边缘图像中的所有边缘都提取边缘等距点,则可以获得这些边缘等距点组成的分布图,而通过该分布图,可以得到某些集中了较多边缘等距点的集中点周围的边缘等距点的分布,例如在该集中点周围集中了呈现直线形态的若干边缘等距点,则可以获得明显的局部朝向属性(例如,直线的方向作为局部朝向);如果在该集中点周围分散分布了无明显直线形态的若干边缘等距点,则获得不明显的局部朝向属性,即没有明显的直线的方向。

例如,可以采用独立成分分析算法(Independent component analysis,ICA)来分析所述局部窗口内的边缘等距点的局部朝向属性。当然,独立成分分析算法仅是示例,还可以采用其他分析算法、例如主成分分析(Principal Component Analysis,PCA)等。

聚类装置1104将具有相似的局部朝向属性的边缘等距点结合其所在的 空间位置聚类到同一分组中。聚类装置1104可以在局部窗口内寻找具有相似的局部朝向属性的边缘等距点,因为实际的规则形状的边缘会得到类似规则形状的边缘等距点的分布。例如,实际的等边多边形会得到类似等边多边形的边缘等距点的分布,而在这种分布中,边缘等距点通常具有相似的局部朝向属性,例如,具有夹角在120或60度的局部朝向属性,则可能是等边三角形,等等。因此,先将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中可以减少需要聚合分析的工作量,而仅从能够聚类到同一分组中的这些边缘等距点的分布来聚合分析候选规则形状的类型。

聚合分析装置1105基于同一分组中的边缘等距点的局部朝向属性以及空间位置,来聚合分析候选规则形状的类型。由于同一分组中的边缘等距点都具有相似的局部朝向属性,则可以通过规则形状的边的直线朝向规律以及规则形状的顶点的分布规律,来聚合分析同一分组中的边缘等距点的局部朝向属性以及空间位置,来推测候选规则形状的类型。

具体地,在一个实施例中,聚合分析装置1105可以:如果一个像素点处的边缘等距点的个数高于第一阈值,则根据该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向及这些局部朝向方向的个数来判断候选规则形状的边数以及形状的旋转角度;如果多个像素点处的边缘等距点的个数低于第一阈值而高于第二阈值,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型,其中,所述第一阈值高于所述第二阈值。

具体地,在前一种情况下,如果一个像素点处的边缘等距点的个数高于第一阈值,则可能边缘等距点提取装置1102设置的半径正好基本上是实际存在的某一规则形状的半径,则可能以这种半径得到的各个边缘等距点都汇聚在该规则形状的中心点处或周围,则在该中心点的像素处或周围出现的边缘等距点的数量应该是很大的。因此,设置一个较大的第一阈值,来筛选出这种情况。在这种情况下,可以根据该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向及这些局部朝向方向的个数来判断候选规则形状的边数以及形状的旋转角度:具体地,如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是在360度范围内均匀分布的、且这些局部朝向方向的个数很多,则该规则形状更可能是圆形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现120度(或60度)夹角的、 且这些局部朝向方向的个数大约是3个,则该规则形状更可能是等边三角形;而如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现90度夹角的、且这些局部朝向方向的个数大约是4个,则该规则形状更可能是正方形(等边四角形);……如果该像素点处的边缘等距点的局部朝向属性所指示的局部朝向方向是呈现360度/n的夹角的、且这些局部朝向方向的个数大约是n个,则该规则形状更可能是等边n角形,n为大于或等于3的正整数。

在后一种情况下,如果多个像素点处的边缘等距点的个数低于第一阈值而高于第二阈值,即,个数并非很多,则可能边缘等距点提取装置1102设置的半径大于或小于实际存在的某一规则形状的半径,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型。

在一个实施例中,上述如果多个像素点处的边缘等距点的个数低于第一阈值而高于第二阈值,则结合该多个像素点处的边缘等距点的局部朝向属性和该多个像素点处的边缘等距点的空间位置关系来判断候选规则形状的类型的步骤可以包括:如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示明显的两个局部朝向方向,则判断候选规则形状的类型为多边形,以及根据该两个局部朝向方向之间的夹角、以及所述每个像素点处的边缘等距点之间的连线与该夹角的重合度来进一步判断多边形的边数;如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示没有明显的局部朝向方向,则判断该候选规则形状的类型为圆形;如果每个像素点处的边缘等距点的局部朝向属性指示仅具有明显的一个局部朝向方向,则判断不存在候选规则形状。

在一个实施例中,上述如果多个像素点的每个像素点处的边缘等距点的局部朝向属性指示明显的两个局部朝向方向,则判断候选规则形状的类型为多边形,以及根据该两个局部朝向方向之间的夹角、以及所述每个像素点处的边缘等距点之间的连线与该夹角的重合度来进一步判断多边形的边数的步骤包括:如果该两个局部朝向方向之间的夹角基本上等于360°/n,且存在边缘等距点的个数低于第一阈值而高于第二阈值的n个像素点,且该n个像素点之间的连线与各个局部朝向方向基本重合,则判断该多边形的边数为n,其中,n为大于或等于3的正整数。

在一个实施例中,该系统1100还可以包括:验证候选规则形状的类型的装置;优化候选规则形状的大小和旋转角度信息的装置;输出验证和优化后的规则形状的装置。由于,边缘等距点提取装置1102设置了一个初始的半径,来通过后续装置得到了候选规则形状的类型。接下来,如果需要更精确的信息、例如实际的规则形状的类型、其实际的半径、以及其实际的旋转角度信息(例如,三角形是正三角形还是倒三角形还是其他任何旋转角度,等等),则进一步验证候选规则形状的类型,如下详细描述的。

在一个实施例中,所述验证候选规则形状的类型的装置可以:根据候选规则形状的类型,估计该候选规则形状的中心点;基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离,来向所述设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径;在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘;如果是,则验证候选规则形状的类型是该规则形状,且将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径;如果否,则验证候选规则形状的类型不是该规则形状。

在此,由于边缘等距点提取装置1102初步设置的半径不一定是实际的规则形状的半径,而利用该初步设置的半径得到的边缘等距点所组成的类似规则的图形与实际规则形状的图形之间通常是成比例的关系,而该关系可能是:该初步设置的半径加上或减去该边缘等距点所组成的类似规则的图形的半径可能等于实际的规则形状的半径。但是,具体是加上还是减去,需要进一步验证。因此,基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,边缘等距点所组成的类似规则的图形的半径),来向所述设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径,且在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘。如果是,则验证候选规则形状的类型是该规则形状,且将检测到规则形状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径;如果否,则验证候选规则形状的类型不是该规则形状。

在一个实施例中,所述优化候选规则形状的大小和旋转角度信息的装置可以:如果验证候选规则形状的类型是该规则形状,则确定检测到规则形状的边缘的半径的大小;基于确定的半径的大小和检测到的规则形状的边缘,来得到优化的规则形状的大小和旋转角度信息。在此,可以将检测到规则形 状的边缘时的增加后的半径或减少后的半径作为规则形状的实际半径的大小。另外,可以通过检测到的实际的规则形状的边缘来获得该规则形状的旋转角度信息,例如,等边三角形是正三角形还是倒三角形还是其他旋转角度等等。

如此,根据边缘检测后得到的边缘图像中提取的边缘等距点的空间分布,可以分析这些边缘等距点的空间属性、例如分布较多的边缘等距点(例如集中点)周围的其他边缘等距点组成的直线(或曲线、单个点等)的局部朝向属性,根据规则形状通常包括相似的局部朝向属性的边缘等距点(例如,三角形包括具有120度(或60度)夹角的局部朝向属性等)的原理,来将具有相似的局部朝向属性的边缘等距点结合其所在的空间位置聚类到同一分组中,并聚合分析该同一分组中的边缘等距点的局部朝向属性以及空间位置(例如,三角形包括具有120度(或60度)夹角的局部朝向属性,以及边缘等距点的集中点的连线之间的夹角和朝向与局部朝向属性重合等),来聚合分析候选规则形状的类型。并且,可以通过基于所述中心点与同一分组中的边缘等距点所连成的线的垂直距离(即,边缘等距点所组成的类似规则的图形的半径),来向初步设置的半径增加和减少所述垂直距离,以得到增加后的半径和减少后的半径,且在距离所述中心点的增加后的半径和减少后的半径周围,检测所述边缘图像中是否存在规则形状的边缘,从而进一步验证是否存在规则形状,以及优化该实际的规则形状的半径大小和旋转角度信息。

当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。

注意,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。

所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例 中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的 组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。

也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。

也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。

图12示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图12显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图12所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介 质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图12未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意 图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。

另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。

以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。

可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。

结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。

在此公开的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范 围。

所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。

因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。

软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。

此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。

其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外, 措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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