CN117593532A - 用于在具有失真线条的图像中定义区域轮廓的方法和系统 - Google Patents
用于在具有失真线条的图像中定义区域轮廓的方法和系统 Download PDFInfo
- Publication number
- CN117593532A CN117593532A CN202310868070.8A CN202310868070A CN117593532A CN 117593532 A CN117593532 A CN 117593532A CN 202310868070 A CN202310868070 A CN 202310868070A CN 117593532 A CN117593532 A CN 117593532A
- Authority
- CN
- China
- Prior art keywords
- image
- version
- lines
- contour
- contour portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013507 mapping Methods 0.000 claims description 31
- 230000009466 transformation Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 230000007717 exclusion Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 26
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供了用于在具有失真线条的图像中定义区域轮廓的方法和系统。方法包括显示具有失真线条的图像的第一版本,其中该图像的第一版本的第一图像部分中的线条具有减小的失真,接收定义该图像的第一版本中的区域轮廓的第一轮廓部分的用户输入,其中该第一轮廓部分包括该图像的第一版本的第一图像部分中的一个或多个线条,显示具有失真线条的图像的另一版本,其中该图像的另一版本的另一图像部分中的线条具有减小的失真,并且接收定义该图像的另一版本中的区域轮廓的另一轮廓部分的用户输入,其中该另一轮廓部分包括该图像的另一版本的另一部分中的一个或多个线条。
Description
技术领域
本发明涉及在图像中定义轮廓的领域。具体地,它涉及用于在具有失真线条的图像中定义区域轮廓的方法和系统。
背景技术
在视频监视应用中,用户通常希望在监视场景的视频图像中定义区域。举几个示例,该区域可以是如果有人闯入应当或者不应当触发警报的区域,应当提供有隐私遮蔽的区域,或者应当检测徘徊或者对象的区域。
用户可以通过在显示的视频图像中绘制该区域轮廓来定义这种区域。对用户而言,最简单的方法是通过定义共同构成该区域轮廓的多个线条来定义轮廓。这也是商业工具所提供的。除了简易性之外,通常的情况是,期望的区域沿场景中的直线,诸如限定报警区域的边界的栅栏或者应当被隐私遮蔽的窗户。
然而,当在线条失真的图像(诸如全景图像)中定义区域轮廓时会出现问题。全景图像可以例如通过广角镜头捕获图像来生成。在这种情况下,镜头会使实际上是直线的线条在得到的图像中表现为弯曲。在另一个示例中,可以通过将从不同视角捕获场景的多个图像拼接在一起来生成全景图像。在这种情况下,图像通常在第一步被投影到公共三维表面上,在公共三维表面它们被拼接在一起。在随后的步骤中,在三维表面上表示的拼接图像被映射到二维图像平面上,以便能够在常规显示屏上显示。作为映射的结果,三维表面上的拼接图像中的直线将表现为是失真的,即,在所得到的全景图像中是弯曲的。结果,期望区域轮廓通常包括弧形段而不是直线。因此,用户不能简单地通过在图像中绘制直线来定义期望区域轮廓,并且沿区域跟踪弧形段本身就是麻烦的。因此,需要简化具有失真线条的图像中轮廓的定义的方法。
发明内容
鉴于上述情况,本发明的一目的是缓解上述问题,并提供简化具有失真线条的图像中轮廓定义的方法和系统。
该目的通过所附独立权利要求实现。示例实施例由所附从属权利要求给出。
根据第一方面,提供了用于在具有失真线条的图像中定义区域轮廓的方法。该方法包括显示具有失真线条的图像的第一版本,其中,该图像的第一版本的第一图像部分中的线条具有减小的失真,接收定义该图像的第一版本中的区域轮廓的第一轮廓部分的用户输入,其中,该第一轮廓部分包括该图像的第一版本的第一图像部分中的一个或多个线条,显示具有失真线条的图像的另一版本,其中,该图像的另一版本的另一图像部分中的线条具有减小的失真,并且接收定义该图像的另一版本中的区域轮廓的另一轮廓部分的用户输入,其中,该另一轮廓部分包括该图像的另一版本的另一图像部分中的一个或多个线条。
使用该方法,通过在图像的不同版本中连续定义轮廓部分来定义区域轮廓。不同版本的图像的不同之处在于,在不同的图像部分中线条的失真被减少。因此,图像的第一版本在第一图像部分中具有减少的失真,这实现了在第一图像部分中以直线的形式输入轮廓部分。图像的第二版本,替代地,在第二图像部分中具有减少的失真,这实现了在第二图像部分中以直线的形式输入轮廓部分。因此,通过连续显示在其不同部分具有减少的线条失真的图像的不同版本,通过在图像中绘制直线来定义轮廓是可能的。
具有失真线条的图像的第一版本和另一版本由相同的图像数据生成,即由相同的像素值生成,并且因此第一版本和另一版本都是相同的图像的版本。然而,图像的第一版本和图像的另一版本中的像素位置在空间上相对于彼此发生位移。因此,图像的第一版本和另一版本可以称为是同一图像的空间变换版本。具体地,图像的另一版本可以称为是图像的第一版本的空间变换版本。图像的空间变换表示图像中的像素位置受到空间变换,该空间变换将它们映射到图像的空间变换版本中的相应像素位置。
图像的第一版本和另一版本两者都具有失真线条。然而,它们会在不同的图像部分具有减少的线条失真。图像的图像部分中的线条具有减少的失真表示,与图像的其他部分相比,它们具有减少的或者较低的线条失真。线条失真是指场景中的直线在图像中被描绘成弯曲的。当线条的失真减少时,我们可以称为它被矫正或者拉直。
还应当理解,在该方法结束时,该区域轮廓将由所定义的轮廓部分组成。
方法可以进一步包括重复显示图像的另一版本和接收定义区域轮廓的另一轮廓部分的用户输入的步骤,直到区域轮廓被完全定义。以这种方式,允许用户在图像的不同版本中连续定义轮廓部分,直到用户认为轮廓是完整的。当用户在这方面提供输入时,可以认为轮廓被完全定义。替代地或者附加地,当区域的轮廓定义封闭区域时,诸如当第一轮廓部分的起点和最后一个输入的轮廓部分的终点相遇从而获取封闭轮廓时,该区域的轮廓可以被认为是完整的。
在示例性实施例中,图像的第一版本具有沿图像的第一版本中的第一水平线的减少的线条失真,并且图像的另一版本具有沿图像的另一水平线的减少的线条失真。因此,第一图像部分可以沿图像的第一版本中的第一水平线延伸,并且另一图像部分可以沿图像的另一版本中的另一水平线延伸。因此可以称,图像的第一版本沿第一水平线条具有拉直的水平线,并且图像的另一版本沿另一水平线条具有拉直的水平线。这对于全景图像尤其是有利的,除了沿可以由用户设置的被称为“水平线”的水平线条之外,全景图像通常会发生线条失真。
可以响应于接收到指示第一图像部分的用户输入而显示图像的第一版本,并且可以响应于接收到指示另一图像部分的用户输入而显示另一版本。以这种方式,用户可以连续定义下一个显示的图像版本应当在哪个图像部分具有减少的线条失真。
方法可以进一步包括使用图像的第一版本和图像的另一版本之间的变换,对图像的第一版本中定义的第一轮廓部分进行变换。该变换是指图像的第一版本的图像平面和图像的另一版本的图像平面中的像素位置之间的空间变换。这允许计算图像的另一版本的图像平面中的第一轮廓部分的像素位置。此外,它使得能够将变换后的第一轮廓部分与图像的另一版本一起显示。以这种方式,在向用户呈现图像的新版本时,先前输入的输出部分将向前移动,并连续呈现新的图像版本。这改善了用户体验,因为它实现了用户获取到目前为止定义的轮廓的概览。
方法可以进一步包括将变换后的第一轮廓部分和图像的另一版本中定义的另一轮廓部分合并为图像的另一版本中的轮廓的公共表示。因此,当轮廓部分被输入时,它们可以被连续地合并成公共表示。
在第一版本中定义的第一轮廓部分可以由多个第一点表示,并且第一轮廓部分通过使用变换对多个第一点进行变换而被变换。利用沿轮廓的多个空间点来表示轮廓部分是描述轮廓部分的一种存储高效的方式。通常每个线段上的几个点是足够的。它还允许以低计算成本将轮廓部分从一个图像版本的图像平面空间变换到另一图像版本的图像平面,因为只有点的位置需要空间变换。
替代地,可以通过将变换应用于图像的第一版本中定义的第一轮廓部分的渲染后的第一叠加图像来变换第一轮廓部分。这允许轮廓部分从一个图像版本的图像平面空间变换到另一图像版本的图像平面。当第一轮廓部分的点表示不可用时,可以使用该选项。
方法可以进一步包括将第一轮廓部分和图像的第一版本一起显示,以及将另一轮廓部分和图像的另一版本一起显示。
在示例实施例中,图像的第一版本和另一版本两者都是全景图像。在一些示例中,通过分别使用第一映射函数和另一映射函数将在三维表面上表示的图像映射到二维图像平面上,获取图像的第一版本和另一版本。三维表面可以是球形或者圆柱形表面,由全景相机捕获的多个图像被投影到该表面上,以便将图像拼接在一起。在其他示例中,通过分别使用第一去扭曲函数和另一去扭曲函数对广角图像的剪切部分进行去扭曲来获取图像的第一版本和另一版本。广角图像可以例如由安装在墙上式相机通过广角镜头捕获。
图像中的区域可以用作警报、隐私遮蔽、徘徊检测和/或对象检测的包括区或者排除区。也可以展望到该区域的其他应用。
根据本发明的第二方面,上述目的通过用于在具有失真线条的图像中定义区域轮廓的系统来实现。
根据本发明的第三方面,上述目的通过包含计算机代码指令的(非暂时性)计算机可读介质实现,该指令在由处理装置执行时,使处理装置执行根据第一方面的方法。
第二和第三方面通常具有与第一方面相同的特征和优点。还应当注意,本发明涉及所有可能的特征组合,除非另有明确说明。
附图说明
本发明的上述及其他目的、特征和优点可以通过以下对本发明实施例的说明性和非限制性详细描述并参考附图来更好地理解,其中相同的附图标记将用于相似的元件,其中:
图1示意性示出了根据实施例的用于定义图像中具有失真线条的区域轮廓的系统。
图2示意性示出了根据实施例的使用不同去扭曲函数的广角图像的去扭曲。
图3示意性示出了根据实施例使用不同的映射函数将三维表面上呈现的图像映射到二维图像平面上。
图4是根据实施例的用于在具有失真线条的图像中定义区域轮廓的方法的流程图。
图5a至图5c示意性说明了图4流程图方法不同阶段的用户界面视图。
具体实施方式
下文将参考附图对本发明进行更全面的描述,附图中示出了本发明的实施例。本文公开的系统和装置将在操作期间进行描述。
图1示出了用于在具有失真线条的图像中定义区域轮廓的系统1。系统1包括处理单元121和用户界面14。处理单元121经由有线或者无线连接可操作地连接到用户界面14。
处理单元121可以被布置成与存储器122相关联地操作。处理单元121和存储器122可以是处理装置12的一部分。存储器122可以作为存储由处理单元121执行的计算机代码指令的非暂时性计算机可读介质。具体地,计算机代码指令可以使处理单元121执行本文公开的任何方法。
用户界面14包括显示器141,在该显示器141上可显示处理单元121生成的图像。用户界面14还包括用户输入装置142,诸如计算机鼠标、触摸屏等,其允许用户提供与显示的图像相关的用户输入。用户输入被传送到处理单元121。为了实现用户交互,用户界面14可以实施图形用户界面143,经由该图形用户界面143向用户显示图像,并且用户经由该图形用户界面143可以在显示的图像中定义区域轮廓。具体而言,图形用户界面143可以被配置成允许用户例如通过在显示的图像中绘制一个或多个线条来定义轮廓的部分。图形用户界面143可以进一步允许用户指示图像的图像部分,诸如沿图像中的水平线延伸的图像部分。在所示出的示例中,图形用户界面143包括滑动条,该滑动条允许用户指示水平线的垂直高度或者坐标。响应于接收到图像的图像部分的指示,当前显示的图像可以被变换以减少图像部分中的线条失真。具体地,可以沿所指示的水平线减少线条的失真。
系统1可以被布置成从相机16接收图像。相机16可以是产生全景图像视频序列的摄像机。在一些实施例中,处理单元121和存储器122被布置在相机16中,而在其他实施例中,它们被布置在相机16的外部,诸如在视频管理系统中。
在图2所示的一个示例中,相机16通过使用广角镜头(诸如鱼眼镜头)捕获场景图像。结果,相机16生成场景的广角图像21。广角图像21表示在二维图像平面上,并且通常具有圆形形状。由于光被广角透镜折射,在广角图像21中场景中的直线将弯曲的意义上,广角图像21是失真的或者扭曲的。处理单元121可以从广角图像21生成具有基本矩形形状的全景图像22。具体地,它可以从广角图像21的剪切部分211生成全景图像22a、22b。对于被布置成提供被监视场景的侧视图的相机16,诸如安装在墙上的相机,剪切部分211可以由广角图像21中的那些像素形成,该像素描绘了在相机16的水平中心线212之上和之下的特定角度范围内的场景点。在一个示例中,角度范围可以覆盖位于从水平中心线212下方80度到水平中心线上方60度的场景点。如图2所示,这种剪切部分211基本上具有沙漏的形状。图2中的每条虚线与场景中位于相机16的水平中心线212上方或者下方某个角度的点相对应。
为了生成全景图像22a、22b,处理单元121可以对剪切部分211应用变换,本文称为去扭曲函数f1、f2。每个去扭曲函数f1、f2是剪切部分211中的空间点或者像素位置到全景图像22a、22b的矩形图像平面中的空间点或者像素位置之间的空间映射。取决于使用哪种去扭曲函数,可以在得到的全景图像22a、22b的不同图像部分中减少线条的失真。具体地,在图2所示的示例中,去扭曲函数f1、f2的选择影响全景图像22a、22b中的水平线23a、23b,在该水平线将会减少线条的失真。在全景图像22a中,在沿第一水平线23a(本文位于全景图像22a的中心)延伸的图像部分中减少了线条的失真,而在全景图像22b中,在沿另一水平线23b(在该示例中位于全景图像22b的中心上方)延伸的图像部分中减少了线条的失真。如何实施和构造减少特定图像部分中的线条失真的去扭曲函数对于本领域技术人员而言本身是已知的,并且因此在此不再详细描述。例如,可以使用OpenCV中的“鱼眼相机模型”库(https://docs.opencv.org/3.4/db/d58/group__calib3d__fisheye.html)。在实际实施方式中,可以构建查找表,该查找表指定使用哪个去扭曲函数来减少给定图像部分中的线条失真,诸如沿给定的水平线。去扭曲函数可以根据以参数表示的去扭曲函数的参数来指定。
在图3所示的另一示例中,图像是全景图像32a、32b,通过将三维表面34(诸如球面或者柱面)上显示的图像31映射到二维图像平面上来获取。映射M1、M2将三维表面34上的图像31中的空间点或者像素位置映射到图像32a、32b的二维图像平面中的空间点或者像素位置上。在三维表面34上表示的图像31又可以通过投影由相机16从不同视角捕获的场景的多个图像来获取。具体地,相机16可以包括多个图像传感器,这些图像传感器指向不同的观察方向,并且同时捕获场景的图像。从多个图像中,图像31可以通过将多个图像拼接在一起来生成。图像的拼接通常包括使用描述多个图像传感器如何相对于彼此排列的信息,将多个图像投影到公共三维投影表面上,诸如表面34。这允许与场景中的同一点相对应的多个图像中的像素被投影到三维表面34上的同一点上,从而使得从不同视角获取的多个图像能够被组合成拼接图像31。
将三维表面上的图像31的M1,M2映射到二维图像平面上,导致图像31中的直线在得到的全景图像32a、32b中失真。这由图像31中的虚线示出,该虚线当应用映射M1、M2时被失真。然而,取决于映射M1、M2的选择,将存在沿全景图像32a、32b中的水平线延伸的图像部分,与全景图像32a、32b的其他部分相比,沿该图像部分存在减少的线条失真,或者甚至没有线条失真。如图3所示,水平线的位置取决于使用哪种映射。当使用映射M1时,使得沿第一水平线33a的图像部分中的线条具有减少的失真量。如果使用不同的映射M2,则使得沿第二水平线33b的线条具有减少的失真量。因此,通过合适地选择映射M1、M2,可以获取全景图像32,该全景图像32在期望的图像部分中具有减少的线条失真,诸如沿期望的水平线33a、33b。映射和水平高度的位置之间的关系对于本领域技术人员而言本身是已知的,因此在此不再更详细描述,其中沿水平高度的位置线条具有减小的失真。例如可以使用OpenCV中的“图像扭曲”库(https://docs.opencv.org/4.x/d0/dfa/group__stitching__warp.html)。在实际实施方式中,可以构建查找表,该查找表指定对于给定的水平线33a、33b使用哪个映射函数M1、M2。
再次参考图1的用户界面14,用户可以输入关于应当减少图像的哪个图像部分的线条失真的指示。特别地,用户可以指示沿图像中的哪个水平线应当减少失真。在这样的用户输入之后,通过应用如上所述的合适的去扭曲函数或者映射,处理单元121可以生成在该图像部分中具有减少的线条失真的图像版本。
现在将参考图4的流程图以及图1至图3和图5a至图5b,对执行用于在具有失真线条的图像中定义区域轮廓的方法时系统1的操作进行说明。如上所述,图像可以是全景图像,其通过使用去扭曲函数对广角图像的剪切部分进行去扭曲,或者将在三维表面上呈现的图像映射到二维图像平面上来获取。
在步骤S04中,图像的第一版本显示在用户界面14上,诸如在显示器141上的图形用户界面143的视图区域中。图像的第一版本由处理单元121生成。在通过将在三维表面上表示的图像映射到二维图像平面上而获取全景图像的情况下,可以通过使用第一映射M1来生成图像的第一版本。在通过对广角图像进行去扭曲而获取全景图像的情况下,可以通过使用第一去扭曲函数f1对广角图像进行去扭曲来生成图像的第一版本。图5a示出了图像的第一版本51a。生成图像的第一版本51a,以便在其第一图像部分52a中具有减少的线条失真。这表示线条的失真被减少,即,与图像的第一版本51a的其他图像部分相比,第一图像部分52a中的线条失真更低。这可以例如通过合适地选择第一映射函数或者第一去扭曲函数来实现,例如通过使用查找表。在示出的示例中,第一图像部分52a水平延伸,穿过图像的第一版本51a,即,沿第一水平线。可以看出,第一图像部分52a中的线条比图像的第一版本51a的其他部分中的线条失真更小。换句话说,第一图像部分52a中的线条被拉直或者矫正。虽然这种效果对于第一版本51a中的水平线更明显,但是它也适用于图像中的垂直线。图像部分52a可以与如图5a所示的矩形图像部分相对应,或者甚至是图像中的单个水平线。然而,应当理解,图像部分通常可以具有图像平面中的任何形状和位置。
在一些实施例中,响应于接收到指示第一图像部分52a的用户输入的步骤S02,生成并显示第一版本51a。例如,用户输入可以指示第一图像部分52a应当沿其延伸的第一水平线的垂直高度53a,诸如垂直坐标。垂直高度53a可以经由图形用户界面输入,例如通过将滑动条滑动到期望的垂直高度,如图5a所示。然而,可以展望到提供指示第一图像部分52a的输入的多种其他方式,包括在图形用户界面的视图区域中绘制线条或者矩形。以这种方式,用户可以选择在哪个图像部分52a中线条应当被拉直。特别地,用户可以选择全景图像52a中应当被拉直的水平线。在典型的情况下,如下所述,用户选择图像部分52a,在其中他旨在定义区域的轮廓部分。在所示出的示例中,用户指示图像部分52a,该图像部分52a沿所描绘的后院的下边界延伸。响应于接收到第一图像部分52a的指示,例如通过使用查找表,处理单元121可以合适地选择第一去扭曲函数f1或者第一映射M1,以在图像的第一版本51a的第一图像部分52a中具有减少的线条失真。
在步骤S06中,处理单元121经由用户界面14接收定义图像的第一版本51a中的区域的第一轮廓部分54a的用户输入。例如,用户可以通过在图像的第一版本51a中绘制线条来定义第一轮廓部分54a。如图所示,第一轮廓部分54a可以与图像的第一版本51a一起显示在用户界面14上。例如,处理单元121可以渲染描绘第一轮廓部分54a的第一叠加图像。举例而言,属于第一轮廓部分54a的像素可以被分配预定义的像素值,诸如第一叠加图像中的值255。然后,通过将第一叠加图像叠加在图像的第一版本51a上,第一叠加图像可以与第一版本51a一起显示。在一些实施例中,第一叠加图像可以存储在缓冲器中以供将来使用,这将在下文进一步更详细地解释。
图像的第一版本51a的第一部分52a中的线条具有减少的失真,这实现了第一轮廓部分54a的输入。因此,用户可以具体定义第一轮廓部分54a以在第一图像部分52a中包括一个或多个线条541a。当第一图像部分52a沿如图5a所示的水平线延伸时,该一个或多个线条541a将因此在图像的第一版本51a中主要在水平方向上延伸。如图5a中进一步示出的,第一轮廓部分54a还可以包括一个或多个线条542a,其在图像的第一版本51a中延伸到第一图像部分52a之外。一个或多个线条542a可以例如与场景中主要在垂直方向上延伸的线条相对应。通常,在本文描述的类型的全景图像中,场景中水平线条的失真比场景中垂直线条的失真更严重。因此,在定义第一轮廓部分54a之前,减少场景中的垂直线或者具有主要垂直方向的线条失真的需求并不如场景中的水平线那么重要。
在方法的步骤S10中,图像的另一版本51b显示在用户界面14上,诸如在显示器141上的图形用户界面143的视图区域中。图像的另一版本51b由处理单元121生成。在通过将在三维表面上表示的图像映射到二维图像平面上而获取全景图像的情况下,可以通过使用映射M2来生成图像的另一版本51b,该映射与用于生成图像的第一版本51a的第一映射M1不同。在通过去扭曲广角图像而获取全景图像的情况下,可以通过使用另一去扭曲函数f2去扭曲广角图像来生成图像的另一版本51b,该函数与用于生成图像的第一版本的去扭曲函数f1不同。
生成图像的另一版本51b,以减少另一版本51b的另一图像部分52b中的线条失真。另一图像部分52b与第一版本51a的第一图像部分52a不同。这表示线条的失真被减少,即,与图像的另一版本51a的其他图像部分相比,在另一图像部分52a中降低了线条的失真。这可以例如通过合适地选择另一映射M2或者另一去扭曲函数f2来实现,例如通过使用查找表。在所示出的示例中,另一图像部分52b水平延伸,穿过图像的另一版本51b,即,沿图像的另一版本51b中的另一水平线。在这种情况下,另一图像部分52b与所描绘的后院的上边界相对应。可以看出,另一图像部分52b中的线条比图像的另一版本51b的其他部分中的线条失真更小。此外,另一图像部分52b中的线条比它们在图像的第一版本51a的相应空间部分中失真更少。
在一些实施例中,响应于接收到指示另一图像部分52b的用户输入的步骤S08,生成并显示另一版本51b。例如,用户输入可以指示另一图像部分52b应当沿其延伸的另一水平线的垂直高度53b,诸如垂直坐标。与结合步骤S02的解释类似,垂直高度53b例如可以通过将滑动条滑动到期望的垂直高度经由图形用户界面输入,如图5b所示。响应于接收到另一图像部分52b的指示,处理单元121可以合适地选择另一去扭曲函数f2或者另一映射M2,这将在图像的另一版本51b的另一图像部分52b中产生减少的线条失真。
为了增强用户体验,希望将第一轮廓部分54a与图像的另一版本51b一起显示。然而,在这样做之前,第一轮廓部分54a需要被变换以将其在图像的第一版本51a的图像平面中定义的像素位置映射到图像的另一版本51b的图像平面中的对应像素位置。通常,图像的另一版本51b可以被视为图像的第一版本51a的空间变换T。具体地,变换T将图像的第一版本51a中的空间位置或者像素位置映射到图像的第二版本51b中的相应空间位置或者像素位置。在通过将去扭曲函数f1和f2分别应用于广角图像来生成图像的第一和第二版本的情况下,变换T由T=f2(f1)-1给出。在通过将映射M1和M2分别应用于在三维空间中的表面上表示的图像来生成图像的第一和第二版本的情况下,变换T由T=M2(M1)-1给出。通过使用变换T变换第一轮廓部分54a,即通过映射图像的第一版本51a中的第一轮廓部分54a的像素位置,它可以在图像的另一版本54b的坐标系中表示。结果,如图5b所示,变换后的第一轮廓部分可以与图像的另一版本51b一起显示。以这种方式,在图像的先前显示版本中定义的轮廓部分可以移动到图像的当前显示版本。
可以采用不同的方法变换第一轮廓部分54a,并将其与图像的另一版本51b一起显示。
在第一种方法中,第一版本51a中定义的第一轮廓部分54a具有向量表示。这表示构成第一轮廓部分54a的线条541a和542a均由具有大小和方向的向量表示。从该向量表示开始,处理单元121可以确定随后沿第一轮廓部分54a定位的多个第一空间点。出于变换第一轮廓部分54a的目的,多个第一点可以用于表示第一轮廓部分54a。为了变换第一轮廓部分,处理单元121然后将变换T应用于多个第一点,以使得找到图像的第二版本51b中的对应空间点。如果需要,可以在手动之后添加更多的点来表示第一轮廓部分54a。特别地,如果发现在应用变换T之后,在第一版本51a中沿某一线段定位的点在变换到第二变换视图51b时偏离沿线段定位,则这可能是需要的。如果是,则表示应当添加更多的点来表示该线段。当添加时,变换T可用于变换附加点。因此,可以从少量的点开始,诸如每个线段三个点,并在需要时增加更多的点。
在将第一轮廓部分54a的点表示变换到第二变换视图51b的坐标系后,第一轮廓部分54a在第二变换视图51b的坐标系中的向量表示可以根据连接变换后的多个第一点中的后续点的向量进行定义。为了显示变换后的第一轮廓部分54a,处理单元121然后可以渲染进一步的叠加图像,其中变换后的多个第一点通过线条互连。如图5b所示,通过将该另一叠加图像叠加在第二变换视图51b上,该另一叠加图像然后可以与第二变换视图51b一起显示。
在第二种方法中,处理单元121不对第一轮廓部分54a的潜在表示应用变换T。相反,它操作以使用变换T来变换第一叠加图像,该第一叠加图像描绘了第一版本51a的坐标系中的第一轮廓部分51a。如上文进一步提到的,这种第一叠加图像通常结合与第一版本51a一起显示来渲染,并且可以从缓冲器中检索。例如,可以使用变换T将第一叠加图像中的像素的像素位置映射到图像的第二版本51b中的相应像素位置。以这种方式,生成了在第二变换视图51b的坐标系或者图像平面中描绘第一轮廓部分51a的另一叠加图像。第二叠加图像可以被添加到缓冲器中,并且与图像的第二版本51b一起显示为叠加图像,如图5b所示。
接下来,在步骤S12中,处理单元121经由用户界面14接收用户输入,该用户输入定义了图像的另一版本51b中的区域的另一轮廓部分54b。与结合第一轮廓部分54a的解释类似,用户可以通过在图像的另一版本51b中绘制线条来定义另一轮廓部分54b。
由于图像的另一版本51b的另一部分52b中的线条具有减少的失真,实现了另一轮廓部分54b的输入。因此,在该方法的这个阶段,用户可以方便地定义另一轮廓部分54b,以在另一图像部分52b中包括一个或多个线条541b。在另一图像部分52b沿如图5c所示的另一水平线延伸的所示出的情况下,该一个或多个线条541b将因此在另一版本51b中主要在水平方向上延伸。尽管在图5c的示例中未示出,但是应当理解,另一轮廓部分54b也可以包括一个或多个线条,这些线条在图像的另一版本51b中延伸到另一图像部分52b的外部。
处理单元121可以将另一轮廓部分54b与任何先前接收的轮廓部分合并成区域轮廓的公共表示。在所示出的示例中,处理单元121因此可以将另一轮廓部分54b与第一轮廓部分54a合并。为了合并轮廓部分54a和54b,它们需要在相同的坐标系或者图像平面中表示。因此,在合并之前,轮廓部分54a和54b应当被变换到相同的坐标系。在一些实施例中,该坐标系可以是图像的另一版本51b的坐标系。在这种情况下,处理单元121将因此将第一轮廓部分54a与另一轮廓部分54b的变换版本合并成在图像的另一版本51b的坐标系中描述的轮廓的公共表示。在其他实施例中,合并可以替代地在第一版本51a的坐标系中执行。在其他实施例中,可以在原始图像数据的坐标系中执行合并,例如在图2的广角图像21或者图3的三维表面上表示的图像31的坐标系中。
如果第一轮廓部分54a和另一轮廓部分54a具有向量或者点表示,则处理单元121可以将向量或者点表示合并为公共表示。举例而言,当变换到图像的另一版本51b的坐标系时,第一轮廓部分54a的向量或者点表示可以与另一轮廓部分54b的向量或者点表示合并。
作为替代,如果第一轮廓部分54a的变换版本由上述另一叠加图像表示,则处理单元121可以将另一轮廓部分54b添加至同一叠加图像。例如,属于另一轮廓部分54b的另一叠加图像中的像素也可以被赋予预定义的像素值,诸如值255。这样,另一个叠加将作为第一轮廓部分和另一轮廓部分的公共表示。通过将扫描线算法应用于进一步的叠加,处理单元121可以确定哪些像素位置在由轮廓定义的区域内,以及哪些在该区域外。例如,这可以用于推断像素位置是否在警报或者分析区内,或者用于填充叠加图像中区域内的像素位置以用于隐私遮蔽目的。扫描线算法也可用于将一个或多个轮廓部分的叠加图像转换成轮廓部分的点或者向量表示。
如图5c所示,另一轮廓部分54b和第一轮廓部分54a的变换版本可以与图像的另一版本51b一起显示在用户界面14中。例如,处理单元121可以显示图像的另一版本51b以及描绘第一轮廓部分54a和另一轮廓部分54b的变换版本的叠加图像。
在步骤S14中,处理单元121可以检查区域轮廓是否已经完全定义,即用户是否已经定义轮廓的所有部分。例如,当区域完成时,用户可以经由用户界面14向处理单元121提供输入。如果发现轮廓没有被完全定义,则重复步骤S08、S10、S12,直到用户已经定义该区域的整个轮廓。如果轮廓被完全定义,则不会向用户呈现图像的其他版本。这是图5a至图5c的示例中的情况,其中轮廓完全由第一轮廓部分54a和第二轮廓部分54b定义。因此,当轮廓已经被完全定义时,轮廓由轮廓部分54a、54b组成,通过用户输入在图像的不同变换视图51a、51b中定义的。在这个阶段,轮廓部分的表示可以被变换到参考坐标系。这种参考坐标系可以与预定义的参考映射Mref或者参考去扭曲函数fref相对应。
应当理解,本领域技术人员可以通过多种方式修改上述实施例,并仍然可以利用上述实施例所示的本发明的优点。因此,本发明不应当限于所示的实施例,而应当仅由所附权利要求来限定。此外,如本领域技术人员所理解的,所示出的实施例可以进行组合。
Claims (15)
1.一种用于在具有失真线条的图像中定义区域轮廓的方法,包括:
显示具有失真线条的图像的第一版本,其中,所述图像的所述第一版本的第一图像部分中的线条具有减少的失真,
接收定义所述图像的所述第一版本中的所述区域轮廓的第一轮廓部分的用户输入,其中,所述第一轮廓部分包括所述图像的所述第一版本的所述第一图像部分中的一个或多个线条,
显示具有失真线条的所述图像的另一版本,其中,所述图像的所述另一版本的另一图像部分中的线条具有减少的失真,以及
接收定义所述图像的所述另一版本中的所述区域轮廓的另一轮廓部分的用户输入,其中,所述另一轮廓部分包括所述图像的所述另一版本的所述另一图像部分中的一个或多个线条。
2.根据权利要求1所述的方法,进一步包括:
重复显示所述图像的另一版本和接收定义所述区域轮廓的另一轮廓部分的用户输入的步骤,直到所述区域轮廓被完全定义。
3.根据权利要求1所述的方法,其中,所述图像的所述第一版本具有沿所述图像的所述第一版本中的第一水平线的减少的线条失真,并且所述图像的所述另一版本具有沿所述图像的所述另一版本中的另一水平线的减少的线条失真。
4.根据权利要求1所述的方法,其中,响应于接收到指示所述第一图像部分的用户输入来显示所述图像的所述第一版本,并且响应于接收到指示所述另一图像部分的用户输入来显示所述图像的所述另一版本。
5.根据权利要求1所述的方法,进一步包括:使用所述图像的所述第一版本和所述图像的所述另一版本之间的变换来变换在所述图像的所述第一版本中定义的所述第一轮廓部分。
6.根据权利要求5所述的方法,进一步包括:将变换后的所述第一轮廓部分与所述图像的所述另一版本一起显示。
7.根据权利要求5所述的方法,进一步包括:将变换后的所述第一轮廓部分和在所述图像的所述另一版本中定义的所述另一轮廓部分合并成所述图像的所述另一版本中的轮廓的公共表示。
8.根据权利要求5所述的方法,其中,在所述图像的所述第一版本中定义的所述第一轮廓部分由多个第一点表示,并且其中,所述第一轮廓部分通过使用所述变换来变换所述多个第一点进行变换。
9.根据权利要求5所述的方法,进一步包括:渲染在所述图像的所述第一版本中定义的所述第一轮廓部分的第一叠加图像,其中,所述第一轮廓部分通过将所述变换应用于渲染后的所述第一叠加图像来变换。
10.根据权利要求1所述的方法,进一步包括:将所述第一轮廓部分与所述图像的所述第一版本一起显示,以及将所述另一轮廓部分与所述图像的所述另一版本一起显示。
11.根据权利要求1所述的方法,其中,通过分别使用第一映射函数和另一映射函数将在三维表面上表示的图像映射到二维图像平面上,来获取所述图像的所述第一版本和所述另一版本。
12.根据权利要求1所述的方法,其中,通过分别使用第一去扭曲函数和另一去扭曲函数对广角图像的剪切部分进行去扭曲,来获取所述图像的所述第一版本和所述另一版本。
13.根据权利要求1所述的方法,进一步包括:使用所述图像中的所述区域作为警报、隐私遮蔽、徘徊检测和/或对象检测的包括区或者排除区。
14.一种用于在具有失真线条的图像中定义区域轮廓的系统,所述系统包括:
处理单元,被布置成计算具有失真线条的图像的第一版本,其中,所述图像的所述第一版本的第一图像部分中的线条具有减少的失真,并且计算具有失真线条的所述图像的另一版本,其中,所述图像的所述另一版本的另一图像部分中的线条具有减少的失真,
用户界面,被布置成显示所述图像的所述第一版本,并且接收定义所述图像的所述第一版本中的所述区域轮廓的第一轮廓部分的用户输入,其中,所述第一轮廓部分包括所述图像的所述第一版本的所述第一图像部分中的一个或多个线条,以及显示所述图像的所述另一版本,并且接收定义所述图像的所述另一版本中的所述区域轮廓的另一轮廓部分的用户输入,其中,所述另一轮廓部分包括所述图像的所述另一版本的所述另一图像部分中的一个或多个线条。
15.一种非暂时性计算机可读介质,包括计算机代码指令,所述计算机代码指令当由处理装置执行时,使得所述处理装置执行根据权利要求1所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22190416.2 | 2022-08-15 | ||
EP22190416.2A EP4325425B1 (en) | 2022-08-15 | 2022-08-15 | A method and system for defining an outline of a region in an image having distorted lines |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117593532A true CN117593532A (zh) | 2024-02-23 |
Family
ID=82940053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310868070.8A Pending CN117593532A (zh) | 2022-08-15 | 2023-07-14 | 用于在具有失真线条的图像中定义区域轮廓的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240054598A1 (zh) |
EP (1) | EP4325425B1 (zh) |
JP (1) | JP2024026043A (zh) |
CN (1) | CN117593532A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9007432B2 (en) * | 2010-12-16 | 2015-04-14 | The Massachusetts Institute Of Technology | Imaging systems and methods for immersive surveillance |
JP5851261B2 (ja) * | 2012-01-30 | 2016-02-03 | 株式会社東芝 | 画像センサシステム、情報処理装置、情報処理方法及びプログラム |
WO2013114848A1 (ja) * | 2012-01-31 | 2013-08-08 | パナソニック株式会社 | 画像処理装置及び画像処理方法 |
-
2022
- 2022-08-15 EP EP22190416.2A patent/EP4325425B1/en active Active
-
2023
- 2023-07-14 CN CN202310868070.8A patent/CN117593532A/zh active Pending
- 2023-07-20 US US18/355,784 patent/US20240054598A1/en active Pending
- 2023-08-04 JP JP2023127429A patent/JP2024026043A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240054598A1 (en) | 2024-02-15 |
JP2024026043A (ja) | 2024-02-28 |
EP4325425A1 (en) | 2024-02-21 |
EP4325425B1 (en) | 2024-06-12 |
EP4325425C0 (en) | 2024-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5536060B2 (ja) | 全方位画像処理装置および全方位画像処理方法 | |
JP5795324B2 (ja) | 光フィールドデータを利用した映像処理装置及び方法 | |
JP4620607B2 (ja) | 画像処理装置 | |
JP4912117B2 (ja) | 追跡機能付き撮像装置 | |
US8472667B2 (en) | Editing apparatus and method | |
US6714689B1 (en) | Image synthesizing method | |
JP5080944B2 (ja) | パノラマ眼底画像合成装置及び方法 | |
WO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
TW201342304A (zh) | 用於超廣角透鏡圖像的自我調整透視修正的方法和系統 | |
JP6698972B2 (ja) | 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム | |
US7409152B2 (en) | Three-dimensional image processing apparatus, optical axis adjusting method, and optical axis adjustment supporting method | |
JP2011070579A (ja) | 撮影画像表示装置 | |
JPWO2018179040A1 (ja) | カメラパラメータ推定装置、方法およびプログラム | |
JP5178454B2 (ja) | 車両周囲監視装置及び車両周囲監視方法 | |
CN115334233B (zh) | 滑动变焦效果的产生方法和系统 | |
JPWO2018179039A1 (ja) | カメラパラメータ推定装置、方法およびプログラム | |
US11416978B2 (en) | Image processing apparatus, control method and non-transitory computer-readable recording medium therefor | |
KR101504335B1 (ko) | 어라운드뷰 제공 장치, 방법 및 차량 | |
JP3197801B2 (ja) | 二次元表示画像生成方法 | |
WO2020209108A1 (ja) | 画像処理装置、3dモデル生成方法、およびプログラム | |
JP2019121945A (ja) | 撮像装置、その制御方法及びプログラム | |
CN117593532A (zh) | 用于在具有失真线条的图像中定义区域轮廓的方法和系统 | |
US11830177B2 (en) | Image processing apparatus, control method and non-transitory computer-readable recording medium therefor | |
JP5955003B2 (ja) | 画像処理装置および画像処理方法、プログラム | |
WO2018016274A1 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |