周界检测的制作方法

文档序号:12288313阅读:400来源:国知局
周界检测的制作方法与工艺

计算装置通常收集、处理和显示图像。例如,很多移动电话、平板计算机以及个人计算机可以从车载相机收集图像,处理那些图像并且在屏幕上显示处理后的图像。处理可能涉及非常简单的算法,诸如将静止图像从彩色转换成灰度。更复杂的算法可能包括降噪和色调增强,并且可能被应用至视频而不是静止照片。

图像分析的重要领域是边界或界线检测。边界检测涉及估计图像的区域之间的边界的位置。那些区域可能对应于将在图像中表示的由观看者感知的对象。一旦估计出边界的位置,就可以对图像执行附加处理。在一个示例中,附加处理可能涉及对由边界包围的图像的对象或区域重新着色,以便创建视觉效应。在另一个示例中,附加处理可能涉及根据单个图像或者根据在不同位置获得的相似场景的一系列图像来推断其周界已被估计的对象之间的三维关系。

尽管边界检测可以提供许多优点,但是其是复杂问题,并且特别难以在具有相对小计算能力的装置上实现。边界检测的示例是当将在移动电话上执行边界检测时。移动电话的计算能力日益增加,但是其仍然非常有限;并且因为移动电话由电池供电,所以期望最小化它们在执行视频处理时消耗的能量,由此改进电池寿命。

边界检测算法的示例在EP 2615597A、US 2014/072208、WO 2013/186662以及CN 103440644A中公开。

在一些应用中,期望能够实时地处理视频数据。在视频由一系列帧组成的情况下,实时处理涉及在比连续帧之间的时段更少的时间(至少平均)内处理视频的帧。在一个示例应用中,装置具有相机和可以显示通过相机捕获的视频流的显示屏。可能期望操纵所显示的视频流,例如以将预先制备的图形表示覆盖在所述捕获的视频上,所述预先制备的图形表示在显示器上随着相机变焦和摇摄(pan)而移动,以给出它们在现实生活中存在的幻影。

期望具有最小化检测图像中的区域和特征所要求的计算能力的量的算法。期望这种算法在诸如移动电话的便携式装置上实现,以分析合理分辨率的实时视频中的帧。

根据本发明的第一方面,提供了一种用于识别图像中的色块区的方法,该方法包括:a)从用户提供的原点起沿着一方向扫描所述图像中的边界交叉;b)在发现边界交叉(border crossing)时,跟踪该边界的路径,使得所述色块区在被跟踪的所述路径的预定侧上;以及c)如果所述路径围住所述原点并且分别根据将所述色块区保持到右侧或左侧的预定选择被顺时针或逆时针跟踪,则确定所述边界是针对所述色块区的周界;或者如果不是,则沿着所述方向继续扫描边界交叉。

如果确定所述边界是所述色块区的所述周界,则可以从所述周界向内沿着一系列方向扫描所述图像,以检测所述图像中的另外边界交叉。

适当地,在检测到所述图像中的每个另外边界交叉时:跟踪由该另外交叉限定的另外边界;确定被跟踪的所述另外边界在针对所述色块区的所述周界内并且围住另外区域;以及从所述另外周界向外沿着一系列方向扫描所述图像,以检测所述图像中的其它边界交叉。

适当地,在检测到包含所述原点的色块区的周界时:确定所述周界是否超过预定域值和/或所述区域的大小是否超过预定域值和/或围住所述区域的所述周界的周长是否超过预定域值;如果不是,则丢弃检测到的所述周界,并且沿着相同方向继续扫描。

所述一系列方向可以包括第一组相互平行方向和与所述第一组相互平行方向正交的第二组相互平行方向。

在沿着一系列方向扫描所述图像的每个步骤中,可用方向可以均相同。

所述方法还可以包括:确定所述图像中的以下区域,所述区域(i)将所述色块区的所述周界作为其周界并且(ii)不包括由所述或每个另外边界限定的所述或每个另外区域。

所述方法还可以包括:处理所述图像以将变换应用至所确定的区域,所述图像的剩余部分在所述变换时保持大致不改变;并且显示从所述变换得到的图像。

所述变换可以是色度和/或亮度的改变。

所述方法还可以包括:经由装置显示所述图像;并且经由所述装置获取指示所述原点的用户输入。

所述图像可以是视频流的帧。

根据本发明的第二方面,提供了一种装置,该装置包括:存储器,该存储器存储非暂时性程序代码;以及处理器,该处理器被构造成在给定图像和用户提供的原点的情况下,通过执行所述代码执行以下步骤来识别色块区:a)从用户提供的原点起沿着一方向扫描所述图像中的边界交叉;b)在发现边界交叉时,跟踪该边界的路径,使得所述色块区在被跟踪的所述路径的预定侧上;以及c)如果所述路径围住所述原点并且分别根据将所述色块区保持到右侧或左侧的预定选择被顺时针或逆时针地跟踪,则确定所述边界是针对所述色块区的周界;或者如果不是,则沿着所述方向继续扫描边界交叉。

所述处理器还可以被构造成执行以下步骤:如果确定所述边界是所述色块区的所述周界,则从所述周界向内沿着一系列方向扫描所述图像,以检测所述图像中的另外边界交叉。

所述装置可以包括相机,并且所述图像可以是由所述相机捕获的图像。

所述装置可以包括显示器,并且所述装置可以被构造成:确定所述图像的以下区域,所述区域(i)将所述色块区的所述周界作为其周界并且(ii)不包括所述色块区的所述周界内的、由所述或每个另外边界限定的所述或每个区域;处理所述图像以将变换应用至所确定的区域,所述图像的剩余部分在所述变换时保持大致不改变;并且在所述显示器上显示从所述变换得到的图像。

所述图像可以是由所述相机捕获的视频流的帧。

所述装置可以被构造成对所述视频流的连续帧实时地执行所述步骤。

所述色块区可以是所述图像的全部具有大致相同颜色(例如,色度)的连续区域。

将参照附图通过示例描述本发明。在图中:

图1示出了块检测算法对图像的操作。

图2示出了表示图1的图像的区域的特写镜头的像素。

图3示出了块检测的另一个示例。

图4示出了块检测方法中的步骤。

图5示出了适用于图像处理的装置。

以下描述的算法用于扫描图像以识别该图像的色块区的周界。在一个示例中,该算法本质上涉及:选择初始位置,检测边界(边界可以是或者不是单色区的周界),以及跟踪该边界。当跟踪该边界时,使色块区保持到一侧(左侧或右侧)。如果色块区在跟踪时被保持到右侧或左侧并且该边界分别沿着顺时针或逆时针方向被跟踪,则确定被跟踪的边界是色块区的周界。

随后,针对边界的扫描可以沿着正交方向从该周界向内重新开始,以寻找所述图像的在该周界内但不是色块部分的部分,并且还沿着正交方向从那些部分的周界向外扫描,以寻找其它这样的部分。便利地,相同一对正交方向可以用于从所有周界扫描。

本算法的目的是检测图像中的色块区的外边界和内边界。色块区是图像的具有一些共同总体特征的连续区域。例如,色块区可以是不同于图像的周围区域的大致均匀色度、色调或图案结构的区域。另选地,色块区可以由具有共同总体色度、色调或图案结构的区域限制(bound)。色块区的周界是在该色块区与图像中的不同于该色块区的一个或更多个相邻区域之间的界面周围的环状路径。如果色块区达到图像的边缘,则周界可能沿着图像的边缘的部分或全部行进。色块区可能具有一个或更多个内边界。每个内边界都是在色块区与在色块区的周界内但是不同于该色块区的图像的相应连续区域之间的界面的环状路径。

一般地,识别图像中的区域(无论是静止图像还是录制视频或实时视频中的帧)涉及对整个图像执行边界检测算法。以下描述的方法提供了识别色块区的有效方式,潜在地缩减了绘制图像以检测那些区域所要求的处理量。

图1示出了说明以下描述的对象检测方法的一般原理的示例图像。图像100包含色块区1、3、4和5。区域1、3、4和5被认为由边界(边界可以包括图像的边缘)限制。可能期望检测那些边界,使得可以在图像中识别各个区域。在该示例中,图像100是房间,并且区域1、2、3、4和5分别是第一墙壁(1)、窗口(2)、天花板(3)、地面(4)以及第二墙壁(5)。

用户可以选择一区域以指示该区域应当经受一些另外处理。例如,用户可能期望对图像100中的墙壁1重新着色。用户可以选择墙壁1上的任意位置6,以指示该图像的对应于墙壁1的区域是将经受另外处理的区域。所选位置6可以被用作扫描处理可以开始确定墙壁1的周界的原点。从所选位置6起,可以在扫描模式下扫描该图像以寻找边界。扫描模式可以从位置6处的像素起沿着在7处所示的初始扫描方向。该扫描可能涉及沿着方向7移步到连续像素位置,并且分析每个像素位置以确定任何一组两个相邻像素是否在周界的相对侧上。初始扫描方向7便利地平行于该图像的像素所在的轴,但是不需要是这样。扫描模式涉及从所选位置6起沿着初始扫描方向7移步通过图像。在每个步骤处,使用边界检测算法分析图像的局部区域,以评估该局部区域是否包含边界。

步长可以是单个像素,使得下一步是沿着扫描方向与当前像素位置相邻的像素位置。根据如何计算像素位置的属性(根据所述属性推断边界的存在),可以提供一次移动一个像素的显著性能优点,使得对于任何给定像素位置,已经计算出相邻像素位置的相同属性。

在图1的示例中,在扫描模式下的扫描沿着初始方向7继续,直到在8处检测到边界为止。然后,该扫描可以改变成跟踪模式。在跟踪模式下,分析在边界周围的像素位置,以跟随由检测到的边界形成的路径。

在跟踪模式下,可以通过对与在其之间已经检测到边界的一组像素位置相邻的像素位置执行边界检测算法来跟随边界,以检测位置在边界的相对侧上的另外多组像素位置,并且重复该处理。例如,图2示出了在其之间已经检测到边界的像素位置88和8周围的特写镜头。扫描与像素位置88和8相邻的像素位置87-86以用于边界的存在。在像素位置87与86之间检测到边界。然后,该算法移步至下一组像素位置,使得墙壁1的色块区关于跟踪方向在预定侧上。在该示例中,预定侧是右侧,并且因此将墙壁1的色块区保持在右侧,跟踪方向需要向下。

根据如何计算像素位置的属性(根据其推断边界的存在),可以提供一次移动一个像素的显著性能优点,使得对于任何给定像素位置,已经计算出相邻像素位置的相同属性。作为示例,当计算针对像素位置87和86的属性时,给出以上示例,已经针对像素位置88和8计算出属性。当在跟踪模式下跟随该边界时,可以存储沿着该边界的点的位置以用于随后使用。

扫描跟随由窗口2的轮廓形成的边界,以绘制图像中的、组成该边界的一系列位置,从而返回到首次检测到边界的位置8。

当跟踪返回到其开始的地方时,该块检测算法确定所跟随的界线是否是所选色块区(墙壁1)的周界。该算法通过以下步骤确定所跟踪的边界是否是墙壁1的周界:

1、确定所选位置6是否在该边界内;以及

2、确定环绕该边界的方向(即,顺时针或逆时针)。如果在跟踪时该色块区将被保持在的预定侧是右侧并且该边界沿着顺时针方向被环绕,则如果位置6在该周界内,该边界可能是色块区的周界。否则,该边界不是色块区的周界。而且,如果在跟踪时该色块区将被保持在的预定侧是左侧并且该边界沿着逆时针方向被环绕,则如果位置6在该周界内,该边界是色块区的周界。否则,该边界不是色块区的周界。

在图1和图2的示例中,位置6不在由窗口2的轮廓形成的边界内,并且在使墙壁1保持在右侧的同时该边界沿着逆时针方向被跟踪。由此,确定该边界不是墙壁1的边界。

如果跟踪未返回到最初检测到该边界的位置,则该算法确定所跟随的边界不形成周界。然后,可以在扫描模式下其它地方扫描该图像。

当该块检测算法确定边界不是色块区的周界时,该扫描返回到扫描模式,并且从可能位于边界上的点重新开始。在图1的示例中,扫描重新开始点9优选为窗口2的在8处第一次遇到该边界的位置的另一侧,并且在扫描模式下的扫描沿着相同方向7继续。

当例如在10处遇到另一个边界时,扫描从扫描模式切换到跟踪模式。类似于以上描述用于跟随窗口2的边界的处理,跟踪模式跟踪由墙壁1形成的边界,使得墙壁1被保持到右侧。然后,跟踪返回至第一次检测到该边界的位置10。然后,块检测算法确定所跟踪的边界是否围住所选位置6,并且确定环绕该边界的方向。在该示例中,所选位置6在由墙壁1形成的边界内,并且沿着顺时针方向跟踪该边界,并且由此,该算法将该边界识别为墙壁1的周界。

图像的边缘可以被认为是边界。例如,当扫描跟随墙壁1的边界到在图像的端部处的位置12时,该算法可以跟随该边缘,就好像该边缘是边界。当扫描到达点13时,检测到边界,并且跟随返回到点10。

由于已经确定墙壁1的周界,因而可以进一步处理该周界内的区域。例如,用户可能期望对墙壁1重新着色。当在墙壁1的周界内已经检测到另一个对象(窗口2)时,窗口周界内的该区域可以不被重新着色,使得仅两个周界之间的区域(即,墙壁1)被重新着色,而不是非选择区块内的区域(即,窗口2)被重新着色。

用户可以选择图像中的第二区块用于另外处理。例如,用户可以选择第二墙壁5上的任意位置22,并且可以使用上述区块检测算法来检测其周界。先前边界检测的结果可以被存储并且被再次使用,以免于再次执行那些计算。例如,当跟随边界15的右手侧以便绘制墙壁5时,在一些情况下,重新使用当跟随边界15的左手侧以便绘制墙壁1时所计算的特定属性。当已经识别出第二墙壁5的周界时,可以进行在该周界的区域内的另外处理。该另外处理可以与针对墙壁1的另外处理一起执行。例如,第一墙壁1可以被重新着色成一种所选颜色,并且第二墙壁5可以被重新着色成另一种所选颜色。

优选地,每次针对边界扫描图像时,扫描方向都是相同的。在图1的示例中,当扫描从点9重新开始时,扫描方向优选地与从点6起的原始扫描方向相同。以此方式,不是每次都选择随机方向,而是在确保无论在墙壁1的点6与边界之间有多少其它对象(像窗口2),总是将检测墙壁1的边界的同时,要求被扫描的像素位置的量很可能被减少。

在识别出色块区的周界之后,期望从周界向内沿着一系列方向扫描图像,以检测图像中的另外边界交叉,并且然后从所述另外边界向外沿着一系列方向扫描图像,以检测该色块区的周界内的其它边界。以此方式重复扫描允许检测另外对象(像灯开关23)。

该算法可以提供显著效率优点。为了在像素位置附近执行边界检测,必须收集关于所述像素位置的信息以及其邻近像素位置的属性(诸如它们的亮度)。收集该信息可能消耗相当多的处理能力。不是对整个图像执行边界检测,而是该区块检测算法确定相对较小数量的像素位置来执行边界检测,以便有效地检测所选对象。

图3示出了覆盖有指示图像上的一系列扫描路径的箭头的图像。该图像包括色块区110,色块区110是被确定为色块区的图像的连续区域。该算法的目的是有效地检测区块110的边界。在111至114处示出了该算法中的连续阶段。该算法按次序涉及:

a、选择色块区110内的任意位置111;

b、从位置111起沿着任意方向(如在112处指示的)扫描,直到检测到该区块的边界为止(在113处);

c、通过该边界的相对侧上的一系列多组两个相邻像素连续地绕行该边界,直到返回至起始点113为止,如在114处所示;

d、如果确定该边界是该色块区111的周界,则从该边界上的点开始向下和向右扫描,其位置意味着将在该边界内引导该扫描,或者如果确定该边界不是色块区111的周界,则从该边界上的点开始向下和向右扫描,这意味着将在该边界外侧引导该扫描。

重复步骤c和d,直到该区块已经被全面特征化为止。

更详细地,该算法如下。

首先,在要寻找其边界的色块区内指定一个点。该点在图3中是点111。该点应当在形成色块区的一部分的位置处。

该算法可以利用该区块的性质的预先限定定义被预编程。例如,可以预先获知要检测的区块将具有特定色度。另选地,可以利用在该指定点周围的区域处或中的图像的性质来特征化区块的性质。例如,指定点的色度可以被采样,或者可以获得指定点周围的预定半径内的像素的色度的平均值。色块区的性质的定义被用于帮助建立区块的边界,如下所述。

然后,沿着远离指定起始点的方向扫描图像。这在图3中的112处示出。优选地,沿着直线扫描图像。在本示例中,沿着向右方向执行该扫描,但是扫描可以沿着任何方向进行。在扫描中的每个步骤处,评估图像以确定其是否与如先前确定的色块区的性质匹配。例如,如果区块通过色度限定,则可以进行有关当前扫描位置的色度是否在特征化区块的色度的预先限定域值内的评估。如果当前扫描位置与该区块匹配,并且当前扫描位置不在图像的边缘处,则该扫描继续。

如果当前扫描位置与该区块不匹配或者在图像的边缘处,则其表示该区块的边界上的点。这在图3中的113处示出。该算法现在绘制该边界。便利地,通过按步进方式在该边界周围跟踪来进行。通过跟踪以将色块区保持在预定侧来进行(如上所述),并且由此根据预定侧在边界周围沿着顺时针或逆时针路径跟踪。在该示例中,预定侧是左侧,并且由此沿着顺时针方向跟踪不匹配对象。任何合适边界跟踪算法都可以用于跟踪。例如,可以考虑当前跟踪位置周围的八个像素的色度,可以识别沿着该边界的下一个点,边界跟踪可以移步至该点,并且然后可以重复相同处理。当边界跟踪遇到图像的边缘时,跟随边缘,直到遇到该区块与该区块外侧的区域之间的另外边界为止,并且然后该算法跟随该区块周围的边界或进入该区块中。执行该处理,直到跟踪该边界一圈为止,因而,该跟踪返回至起始点113,如在114处所示。

接下来,进行有关最新跟踪的边界是否包围起始点和该边界被跟踪的方向的确定。如果最新跟踪的边界包围起始点并且沿着逆时针方向被跟踪(如果预定侧是左侧),则其表示色块区的外边界。在该情况下,从最新跟踪的边界引导的扫描将被引导到由该最新跟踪的边界包围的区域中。如果最新跟踪的边界不包围起始点并且沿着顺时针方向被跟踪(如果预定侧是左侧),则其表示色块区的内边界。在该情况下,从最新跟踪的边界引导的扫描将被引导到该最新跟踪的边界外侧的区域中。

然后,扫描从最新检测到的边界上的一系列位置起沿着两个非平行方向进行。便利地,那些方向是正交的。便利地,那些方向与图像的像素轴平行。在该示例中,方向将采取向右和向下,但是可以选择其它方向,并且在该情况下,用于扫描的起始点可以相应地改变。

对于114处的作为内部边界的边界的示例,从该边界起扫描将是在该边界外部引导。选择由115、116处的点示出的一组边界位置,从这些位置起,扫描可以沿着该边界外侧的期望方向并且从该边界开始进行。所选边界位置可以隔开以便加速处理。该边界位置之间的间距可以根据期望特征化区块的精度来选择,但是其可以是沿着与将进行从相应边界位置起扫描的方向正交的方向的例如32个像素。由此,对于向右扫描来说,选择边界位置115。存在跨越最新检测到的边界的、在区块之外面向右的整个范围(即,朝向由该边界包围的区域外侧)并且隔开预定间距的一组位置。在该区块外侧向右扫描将从这些位置开始进行。对于向下扫描来说,选择边界位置116。存在跨越最新检测到的边界的、在区块之外面向下的整个范围并且隔开预定间隔的一组位置。在该区块外侧向下扫描将从这些位置开始进行。

在下一个步骤中,可以沿着相应方向从每个边界位置进行扫描。每个这样的扫描都进行,直到遇到另一个边界为止。可以按上述方式检测边界的存在。可以从每个边界位置依次地或者从边界位置中的多个位置渐次地进行扫描。

当这样的扫描遇到边界(包括图像的边缘)时,继续上述处理。即:

1、绕行最新发现的边界;

2、确定最新发现的边界是否是色块区的边界,在该情况下,从该边界上的边界位置开始的扫描将被引导到该区域中,否则从该边界上的边界位置开始的扫描将被引导到该边界之外;

3、确定最新发现的边界上的一组边界位置,该组边界位置跨越该最新发现的边界的、沿着两个预定扫描方向面向最新发现的边界内或外(根据在先前步骤中进行的确定)的范围;

4、沿着相应扫描方向从那些位置中的每个位置进行扫描。

以此方式,可以有效地特征化整个区块。为了允许该算法有效地终止,可以在步骤1中进行有关最新发现的边界点是否在或大致在已经发现的边界之上(例如,在已经发现的边界的预定域值距离内)的检查。

图4示出在处理图3的图像时的一系列步骤。它们是:

-图4a:从起始位置向右扫描,检测边界,确定该边界之前未被定位,绕行该边界,确定该边界不包含起始点(因而,从该边界起的扫描将被引导至该边界外侧),确定该边界上的合适新边界位置,从该合适新边界位置起可以引导向外扫描;

-图4b:从先前检测到的边界起向外扫描,检测到另一个边界,确定该边界之前未被定位,绕行该边界,确定该边界包含起始点(因而,从该边界起的扫描将被引导到该边界内侧),确定该边界上的合适新边界位置,从该合适新边界位置起可以引导向内扫描,执行向内扫描,检测边界,确定那些边界之前已经被定位,并且因此不再绕行它们;

-图4c:从最后绕行的边界起继续扫描,检测到另一个边界,确定该边界之前未被定位,绕行该边界,确定该边界不包含起始点(因而,从该边界起的扫描将被引导至该边界外侧),确定该边界上的合适新边界位置,从该合适新边界位置起可以引导向外扫描;

-图4d:从先前绕行的边界起继续扫描,直到充分特征化图像为止。

由于绘制了每个边界,因而存储沿着每个边界的长度的点。这允许随后确定是否已经发现边界,并且一旦该算法完成,就提供该区块中和周围的边界的记录。

一旦已经定位边界,就可以采取任何合适处理。

在第一示例中,可以修改图像,以便例如以引人注目的颜色加亮检测到的边界的位置。然后,可以显示所得到的图像。这在车辆中用于加亮通过安装在车辆上的相机观察的道路的边界。

在第二示例中,对应于色块区的图像的区域可以被变换,并且可以显示所得到的图像。变换可以被应用至在该区域的外边界内但是在该区域的任何内边界外侧的区域。变换例如可以是使该区域变亮或变暗,将掩蔽物(例如,交叉影线)应用至该区域,或者改变该区域的色度。如果使该区域变亮或变暗,则该区域中的每个点处的色度可以保持不改变。这可以给人该区域发亮或者或发暗的印象。如果该区域的色度改变,则该区域中的每个点处的亮度可以保持不改变。这可以给人对该区域重新着色的印象。这例如对于模拟以特定颜色给该区域涂色是有用的。

在此描述的方法可以被应用至静止图像或视频流的帧。在视频流的情况下,手动地选择每帧图像的中的起始点。可以例如通过估计旋转(通过该旋转,该视频帧的后一帧已经从前一帧移位)并且选择用于处理随后帧的起始点(该起始点通过该旋转从前一帧中使用的起始点或者从前一帧中识别的区块的几何中心点偏移),自动地选择起始点。其它算法可以用于类似目的。

使用在此描述的方法,可以实时地处理、变换和显示每帧视频。

最初起始点可以通过适于要寻找的区块的类型的机制自动地确定,或者通过用户在图像上指定点手动地确定。在一个便利示例中,图像可以被显示在触摸屏上,并且用户可以通过触摸图像中的点来指定起始点。这提供用户识别关注区块的直观方式,因为用户仅仅需要触摸该区块。

为了简化边界检测和存储、以及图像的随后变换,该系统可以忽略低于预先限定最小尺寸的边界。该尺寸可以被限定为最小边界长度或最小线性尺度。如果被绕行一次的边界经证明低于预先限定最小尺寸,则其可以被忽略。

当处理是扫描时(如最初从起始点起并且如上述步骤4所描述的),可以按一个像素增量进行。另选地,其可以按更大增量进行。

上述示例使用简单像素属性(诸如,亮度和色度)来特征化区块和它们的边界。可以使用更复杂的度量。在上述处理中使用的属性可以根据期望分析的特征来选择。在一些示例中,该属性可以单独取决于所考虑的单个像素的值:例如如同亮度或色度的情况一样。例如,如果在图像的亮部分与暗部分之间查找边界,则属性可以是像素的亮度值。如果基于蓝色在区域之间查找边界,则该属性可以是每个像素的蓝色强度值。可以依靠预定域值来评估针对每个被扫描像素的相关属性。例如,如果属性是亮度,则域值可以是可用亮度标度的50%。如果像素位置的属性高于域值并且相邻像素位置的属性低于该域值,则边界可以被认为在那些像素位置之间被检测到。该算法是可变的,以允许增加或减少远离所论述像素的像素的相对影响。属性可以通过对针对与所论述像素相邻的一组像素计算的中间值求和来确定。

那些相邻值的范围例如可以根据图像正被考虑的细节层次、聚焦或范围而改变。每个中间值都可以通过根据加权算法确定的加权因子被加权。在一个优选示例中,每个像素的属性都可以借助于拉普拉斯高斯(Laplacian of Gaussian)来确定,其中,根据检测应用至高斯平滑图像的拉普拉斯算子的零交叉来确定边缘的位置。该拉普拉斯高斯算子可以通过确定与所论述像素相邻的像素的强度的加权和来计算,权重根据以所论述像素为中心的拉普拉斯高斯滤波器来确定。所论述的像素位置为x=0,y=0,拉普拉斯高斯滤波器针在x、y处的像素赋予以下权重:

其中,σ表示高斯标准偏差,影响利用从所论述的像素起的半径的函数的权重。该权重可以被预先计算,并且被存储在查找表中以用于在要计算给定像素的属性时使用。针对σ的值范围的权重可以被预先计算和存储,并且当将以合适细节层次分析图像时在适当时被应用。为方便起见,可以约计权重。在估计特定像素的属性时,权重可以仅便利地应用至以该像素为中心的方块(即,其边为相等像素长度的区块)的像素,并且由此不应用至该区块外侧的像素。这可以简化计算。

具有相似特性的其它滤波器(包括但不限于高斯差、Hessian行列式、Sobel、Canny以及Canny-Deriche)可以单独使用或者与其它函数组合使用,以确定像素的属性。

图5示出用于实现上述方法的装置。该装置包括外壳30,外壳30内是相机31、显示器32、处理器33、非易失性存储器或ROM 34、以及工作存储器或RAM 35。该装置通过电池36供电。在该示例中,显示器32是触摸屏,因而向处理器33提供用户输入以及通过处理器驱动,但是可以提供单独键区。ROM 34存储可由处理器执行的程序代码。程序代码以非暂时形式被存储。程序代码可由处理器执行以执行上述功能。在操作中,处理器33可以从相机31或者从远程通信收发器37或者从诸如闪存的数据存储器接收图像。在相机31的情况下,图像可以是通过相机31拍摄的、在装置的位置处的环境的图像。在收发器37的情况下,图像可以从因特网下载。处理器将图像存储在RAM35中。图像可以被显示在显示器32上。用户可以选择被显示图像上的位置(例如,经由触摸屏或鼠标)。一旦图像被存储在RAM 35中,处理器33就可以使用上述算法来分析该图像。然后,根据分析的结果,该处理可以根据所存储的程序代码执行另外操作。例如,可以更改图像以加亮所检测到的边界。另选地,可以对一个或更多个检测到的边界内侧的所选区域重新着色。另选地,用户可以选择那些区域中的一个,并且处理器可以识别由所检测到的边界包围并且具有与所选区域一样的属性(例如,与所选区域的平均色度相差小于预定域值的色度)的其它区域,并且然后类似地,对所选区域和被识别区域重新着色。

在上述示例中,该装置可以捕获图像数据并且本地处理图像数据。另选地,可以捕获图像数据,将图像数据发送至远程服务器以供分析,并且然后从该服务器接收有关所检测到的边界的信息。

图5的装置可以是智能电话。

图像可以是静止图像或者视频流的帧或帧的部分。

每个像素都是图像的子单元。像素可以是单色像素或彩色像素。为了显示或图像捕获,通常将彩色图像划分成单个颜色的通道,当共同考虑时,通道表示特定位置处的特定亮度或色度。为了执行上述算法的目的,图像的单个像素可以被认为通过那些通道组合形成。优选地,为了执行上述算法的目的,每个像素完全特征化在像素的位置处的图像的视觉内容。

因此,申请人将在此描述的每个单个特征和两个或更多个这样的特征的任何组合单独地公开到能够根据本领域技术人员的公知常识总体上基于本说明书来实现这样的特征或组合的程度,而不管这样的特征或特征的组合解决了在此公开的任何问题,并且不对权利要求的范围进行限制。申请人指出,本发明的多个方面可以由任何这样的单个特征或特征的组合构成。考虑到前述描述,本领域技术人员应当明白,在本发明的范围内可以进行各种修改。

权利要求书(按照条约第19条的修改)

1.一种用于识别图像中的色块区的方法,所述方法包括:

a)从用户提供的原点起沿着一方向扫描所述图像中的边界交叉;

b)在发现边界交叉时,跟踪所述边界的路径,使得所述色块区在被跟踪的所述路径的预定侧上;

c)如果所述路径围住所述原点并且分别根据将所述色块区保持到右侧或左侧的预定选择被顺时针或逆时针地跟踪,则确定所述边界是针对所述色块区的周界;或者如果不是,则沿着所述方向继续扫描边界交叉;以及

d)如果确定所述边界是所述色块区的所述周界,则扫描所述色块区中的所述图像,以检测所述图像中的另外边界交叉。

2.根据权利要求1所述的方法,其中,扫描所述色块区中的所述图像包括:从所述周界向内沿着一系列方向扫描。

3.根据权利要求2所述的方法,其中,所述一系列方向包括第一组相互平行方向和与所述第一组相互平行方向正交的第二组相互平行方向。

4.根据权利要求2或3所述的方法,其中,在沿着一系列方向扫描所述图像的每个步骤中,可用方向是相同的。

5.根据任一项前述权利要求所述的方法,其中,在检测到所述图像中的每个另外边界交叉时,所述方法包括:

跟踪由该另外交叉限定的另外边界;

确定被跟踪的所述另外边界在针对所述色块区的所述周界内并且围住另外区域;以及

从所述另外边界向外沿着一系列方向扫描所述图像,以检测所述图像中的其它边界交叉。

6.根据权利要求5所述的方法,所述方法包括:确定所述图像的以下区域,所述区域(i)将所述色块区的所述周界作为其周界并且(ii)不包括由所述另外边界限定的所述另外区域。

7.根据权利要求6所述的方法,所述方法包括:

处理所述图像,以将变换应用至所确定的区域,所述图像的剩余部分在所述变换时保持大致不改变;以及

显示从所述变换得到的图像。

8.根据权利要求7所述的方法,其中,所述变换是色度和/或亮度的改变。

9.根据任一项前述权利要求所述的方法,其中,在检测到包含所述原点的色块区的周界时,所述方法包括:

确定所述周界是否超过预定域值和/或所述区域的大小是否超过预定域值和/或围住所述区域的所述周界的周长是否超过预定域值;如果不是,则丢弃检测到的所述周界,并且沿着相同方向继续扫描。

10.根据任一项前述权利要求所述的方法,所述方法包括:

经由装置显示所述图像;以及

经由所述装置获取指示所述原点的用户输入。

11.根据任一项前述权利要求所述的方法,其中,所述图像是视频流的帧。

12.一种装置,所述装置包括:

存储器,所述存储器存储非暂时性程序代码;以及

处理器,所述处理器被构造成在给定图像和用户提供的原点的情况下,通过执行所述代码执行以下步骤来识别色块区:

a)从用户提供的原点起沿着一方向扫描所述图像中的边界交叉;

b)在发现边界交叉时,跟踪所述边界的路径,使得所述色块区在被跟踪的所述路径的预定侧上;

c)如果所述路径围住所述原点并且分别根据将所述色块区保持到右侧或左侧的预定选择被顺时针或逆时针地跟踪,则确定所述边界是针对所述色块区的周界;或者如果不是,则沿着所述方向继续扫描边界交叉;以及

d)如果确定所述边界是所述色块区的所述周界,则扫描所述色块区中的所述图像,以检测所述图像中的另外边界交叉。

13.根据权利要求12所述的装置,其中,所述处理器还被构造成通过从所述周界向内沿着一系列方向扫描来扫描所述色块区中的所述图像。

14.根据权利要求12或13所述的装置,其中,所述装置包括显示器,并且所述装置被构造成:

确定所述图像的以下区域,所述区域(i)将所述色块区的所述周界作为其周界并且(ii)不包括所述色块区的所述周界内的、由所述另外边界限定的区域;

处理所述图像以将变换应用至所确定的区域,所述图像的剩余部分在所述变换时保持大致不改变;以及

在所述显示器上显示从所述变换得到的图像。

15.根据权利要求12至14中的任一项所述的装置,其中,所述装置包括相机,并且所述图像是由所述相机捕获的图像。

16.根据权利要求15所述的装置,其中,所述图像是由所述相机捕获的视频流的帧。

17.根据权利要求16所述的装置,其中,所述装置被构造成对所述视频流的连续帧实时地执行所述步骤。

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