CN112328150B - 自动截图方法、装置以及设备、存储介质 - Google Patents
自动截图方法、装置以及设备、存储介质 Download PDFInfo
- Publication number
- CN112328150B CN112328150B CN202011298994.1A CN202011298994A CN112328150B CN 112328150 B CN112328150 B CN 112328150B CN 202011298994 A CN202011298994 A CN 202011298994A CN 112328150 B CN112328150 B CN 112328150B
- Authority
- CN
- China
- Prior art keywords
- pixel
- window
- pixel point
- depth
- center
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000001514 detection method Methods 0.000 claims abstract description 80
- 238000001914 filtration Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
本公开提供了一种自动截图方法、装置以及电子设备、存储介质,涉及计算机技术领域,其中的方法包括:在深度图中确定深度检测窗口的窗口滑动轨迹,使深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动,计算深度检测窗口中包含的全部像素点的平均深度值,基于平均深度值在深度图中确定第一截图中心像素点;在全景图中确定与第一截图中心像素点相对应的第二截图中心像素点,用以在全景图中截取图像;本公开的方法、装置以及电子设备、存储介质,通过深度图中的深度信息确定点位截图的角度,可以保证获得视觉观感最优的截图角度,用以在全景图中自动截取图像,可以有效地减小人工的工作量,提高工作效率,而且可以保证截取的图像质量。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种自动截图方法、装置以及电子设备、存储介质。
背景技术
在采集房屋三维信息时,需要在多个点位拍摄房屋的点云信息,然后通过三维建模方法获得房屋的三维模型。在房屋的租赁、售卖等交易过程中,通常需要获得每个点位的最优视图作为截图,能够展示房屋每个点位和每个功能间的信息。在获得每个点位的最优视图时,需要快速地分析每个点位所采集到的数据,得到最优的截图角度。目前,主要通过对房屋的三维模型进行人工截取图像,用以获得每个点位的最优视图;现有的截图方法无法保证获得最优的截图角度,无法保证截图质量,并且工作量大。因此,需要一种自动截取图像的技术方案。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种自动截图方法、装置以及电子设备、存储介质。
根据本公开实施例的第一方面,提供一种自动截图方法,包括:获取图像采集装置在一个点位采集的全景图,并获取与所述全景图相对应的深度图;在所述深度图中确定深度检测窗口的窗口滑动轨迹;使所述深度检测窗口的窗口中心沿着所述窗口滑动轨迹进行滑动,计算所述深度检测窗口中包含的全部像素点的平均深度值;基于所述平均深度值在所述深度图中确定第一截图中心像素点;在所述全景图中确定与所述第一截图中心像素点相对应的第二截图中心像素点,基于所述第二截图中心像素点在所述全景图中截取图像。
可选地,所述基于所述平均深度值在所述深度图中确定第一截图中心像素点包括:获取最大平均深度值;在所述窗口滑动轨迹上确定与所述最大平均深度值相对应的所述窗口中心所在的像素点,将此像素点作为所述第一截图中心像素点。
可选地,在所述窗口滑动轨迹上确定所述窗口中心当前所在的像素点,获取此像素点的深度值并基于此深度值确定所述深度检测窗口的大小。
可选地,所述在所述深度图中确定深度检测窗口的窗口滑动轨迹包括:获取位于所述深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点;将所述初始轨迹像素点转换为在世界坐标系下的第一像素点;获取所述图像采集装置的高度信息,基于所述高度信息设置全部第一像素点的用于表征高度的坐标值;将所述第一像素点转换为所述深度图中的最终轨迹像素点;基于所述最终轨迹像素点确定所述窗口滑动轨迹。
可选地,在所述深度图中设置窗口检测区域;其中,所述窗口检测区域包含有全部初始轨迹像素点;将所述窗口检测区域内的全部像素点转换为在世界坐标系下的所述第一像素点或第二像素点;对所述第一像素点和所述第二像素点进行过滤处理,确定离群点;在所述深度图中去除与所述离群点相对应的像素点。
可选地,所述对所述第一像素点和所述第二像素点进行过滤处理,确定离群点包括:在所述世界坐标系下以所述第一像素点或所述第二像素点为圆心并以预设的长度为半径,生成一个球体;如果所述球体内的像素点的数量小于预设的阈值,则确定所述第一像素点或所述第二像素点为离群点。
可选地,所述在所述全景图中确定与所述第一截图中心像素点相对应的第二截图中心像素点包括:基于所述第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角;根据所述偏转角和所述俯仰角计算所述坐标值在与所述全景图对应的空间坐标系中的经度和纬度;基于所述经度和所述纬度在所述全景图中确定所述第二截图中心像素点。
可选地,所述深度图中的每个像素点的像素值用于表征此像素点的深度信息。
根据本公开实施例的第二方面,提供一种自动截图装置,包括:深度图获取模块,用于获取图像采集装置在一个点位采集的全景图,并获取与所述全景图相对应的深度图;滑动轨迹确定模块,用于在所述深度图中确定深度检测窗口的窗口滑动轨迹;窗口深度检测模块,用于使所述深度检测窗口的窗口中心沿着所述窗口滑动轨迹进行滑动,计算所述深度检测窗口中包含的全部像素点的平均深度值;截图中心获取模块,用于基于所述平均深度值在所述深度图中确定第一截图中心像素点;图像截取处理模块,用于在所述全景图中确定与所述第一截图中心像素点相对应的第二截图中心像素点,基于所述第二截图中心像素点在所述全景图中截取图像。
可选地,所述截图中心获取模块,用于获取最大平均深度值,在所述窗口滑动轨迹上确定与所述最大平均深度值相对应的所述窗口中心所在的像素点,将此像素点作为所述第一截图中心像素点。
可选地,窗口大小设置模块,用于在所述窗口滑动轨迹上确定所述窗口中心当前所在的像素点,获取此像素点的深度值并基于此深度值确定所述深度检测窗口的大小。
可选地,所述滑动轨迹确定模块,包括:初始轨迹确定单元,用于获取位于所述深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点;第一像素转换单元,用于将所述初始轨迹像素点转换为在世界坐标系下的第一像素点;像素坐标设置单元,用于获取所述图像采集装置的高度信息,基于所述高度信息设置全部第一像素点的用于表征高度的坐标值;第二像素转换单元,将所述第一像素点转换为所述深度图中的最终轨迹像素点;最终轨迹确定单元,用于基于所述最终轨迹像素点确定所述窗口滑动轨迹。
可选地,所述滑动轨迹确定模块,包括:像素过滤处理单元,用于在所述深度图中设置窗口检测区域;其中,所述窗口检测区域包含有全部初始轨迹像素点;将所述窗口检测区域内的全部像素点转换为在世界坐标系下的所述第一像素点或第二像素点;对所述第一像素点和所述第二像素点进行过滤处理,确定离群点;在所述深度图中去除与所述离群点相对应的像素点。
可选地,所述像素过滤处理单元,具体用于在所述世界坐标系下以所述第一像素点或所述第二像素点为圆心并以预设的长度为半径,生成一个球体如果所述球体内的像素点的数量小于预设的阈值,则确定所述第一像素点或所述第二像素点为离群点。
可选地,所述第二像素转换单元,将基于所述第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角;根据所述偏转角和所述俯仰角计算所述坐标值在与所述全景图对应的空间坐标系中的经度和纬度;基于所述经度和所述纬度在所述全景图中确定所述第二截图中心像素点。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的方法。
根据本公开实施例的第四方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述的方法。
基于本公开上述实施例提供的自动截图方法、装置以及电子设备、存储介质,通过深度图中的深度信息确定点位截图的角度,可以保证获得视觉观感最优的截图角度,用以在全景图中自动截取图像,可以有效地减小人工的工作量,提高工作效率,而且可以保证截取的图像质量。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征以及优势将变得更加明显。附图用来提供对本公开实施例的进一步的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为本公开的自动截图方法的一个实施例的流程图;
图2为采集的深度图的示意图;
图3为本公开的自动截图方法的一个实施例中的确定窗口滑动轨迹的流程图;
图4为在深度图中确定的窗口滑动轨迹的示意图;
图5为本公开的自动截图方法的一个实施例中的进行过滤处理的流程图;
图6为本公开的自动截图方法的一个实施例中的在全景图中确定截图中心像素点的流程图;
图7A为采集的全景图的示意图,图7B为采集的深度图的示意图,图7C为在全景图中截取的图像的示意图;
图8A为采集的全景图的示意图,图8B为在全景图中截取的图像的示意图;
图9为本公开的自动截图装置的一个实施例的结构示意图;
图10为本公开的自动截图装置的另一个实施例的结构示意图;
图11为本公开的自动截图装置的一个实施例中的滑动轨迹确定模块的结构示意图;
图12是本公开的电子设备的一个实施例的结构图。
具体实施方式
下面将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或者两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施。在分布式云计算环境中,任务可以是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,现有的截图方法通常由人工截取图像,无法保证获得最优的截图角度,无法保证截图质量,并且工作量大。
本公开提供的自动截图方法,在深度图中确定深度检测窗口的窗口滑动轨迹,使深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动,计算深度检测窗口中包含的全部像素点的平均深度值,基于平均深度值在深度图中确定第一截图中心像素点;在全景图中确定与第一截图中心像素点相对应的第二截图中心像素点,基于第二截图中心像素点在全景图中截取图像;可以保证获得视觉观感最优的截图角度,能够有效地减小人工的工作量,保证截取的图像质量。
示例性方法
图1为本公开的自动截图方法的一个实施例的流程图,如图1所示的方法包括步骤:S101-S105。下面对各步骤分别进行说明。
S101,获取图像采集装置在一个点位采集的全景图,并获取与全景图相对应的深度图。
在一个实施例中,图像采集装置可以为多种相机、摄像头等,点位可以为在目标房间内的一个拍摄点位,目标房间可以为卧室、客厅、卫生间等,目标房间内摆放的物品包括家具、电器、装饰品等。全景图为相机在点位拍摄的360度全景图像,相机可以在相同的点位采集与全景图中的各个物品以及窗户、门等相对应的点云信息,基于点云信息可以获得与全景图中的各个物品以及窗户、门等相对应的深度信息,根据深度信息生成与全景图相对应的深度图。深度图可以为多种,例如,深度图中的每个像素点的像素值用于表征此像素点的深度信息,深度图如图2所示。
S102,在深度图中确定深度检测窗口的窗口滑动轨迹。
S103,使深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动,计算深度检测窗口中包含的全部像素点的平均深度值。
S104,基于平均深度值在深度图中确定第一截图中心像素点。
S105,在全景图中确定与第一截图中心像素点相对应的第二截图中心像素点,基于第二截图中心像素点在全景图中截取图像。
本公开的自动截图方法通过深度图中的深度信息确定点位截图的角度,视觉观感最好的位置是视觉范围内平均深度最大的位置;使用深度检测窗口中包含的全部像素点的平均深度值,能够兼顾视野内所有可见的点,并且可以避免局部深度偏差较大的错误数据。
在一个实施例中,基于平均深度值在深度图中确定第一截图中心像素点可以使用多种方法。例如,获取最大平均深度值,在窗口滑动轨迹上确定与最大平均深度值相对应的窗口中心所在的像素点,将此像素点作为第一截图中心像素点。
在深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动的过程中,获取深度检测窗口中包含的全部像素点的深度值,计算全部深度值的平均深度值;当深度检测窗口的窗口中心位于第一截图中心像素点上时,则平均深度值最大。
图3为本公开的自动截图方法的一个实施例中的确定窗口滑动轨迹的流程图,如图3所示的方法包括步骤:S301-S305。下面对各步骤分别进行说明。
S301获取位于深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点。
在一个实施例中,图像采集装置的高度G一般是1.3m-1.5m。如果图像采集装置是经过校准且拍摄位姿无歪斜,则采集到的深度图的中心一行点云的高度为图像采集装置的高度值,在这种情况下,深度检测窗口只需沿着深度图的中心进行滑动。但是,图像采集装置的位姿有歪斜等情况,因此,需要获取在当前拍摄位姿下的深度图中的窗口滑动轨迹。
S302,将初始轨迹像素点转换为在世界坐标系下的第一像素点。
在一个实施例中,对深度图中的初始轨迹像素点进行转换,转换顺序为深度图->相机坐标系->世界坐标系。深度图中的每个像素点的像素值为其深度。可以采用多种现有的方法进行深度图到点云的转换。例如,获取位于深度图中心的一行像素点,为第i行像素点,需要将深度图的第i行像素点转为点云。将第i行第j列的像素点记为Sij,深度为Dij。
深度图->相机坐标系:可以使用现有的转换方法,按照相机成像模型可将像素点Sij投影至三维空间Pij。
相机坐标系->世界坐标系:
Pworld=R*Pcamera+T (1-1);
其中,Pworld为世界坐标系下的像素点(第一像素点),Pcamera为相机坐标系下的像素点,R为相机坐标系转为世界坐标系的旋转矩阵,T为平移矩阵。
S303,获取图像采集装置的高度信息,基于高度信息设置全部第一像素点的用于表征高度的坐标值。
在一个实施例中,为了满足获取的窗口滑动轨迹为世界坐标系下的图像采集装置(相机)的高度G,将所有世界坐标系下的点云(第一像素点)的Y值设为G。
S304,将第一像素点转换为深度图中的最终轨迹像素点。
在一个实施例中,对第一像素点进行转换,转换顺序为世界坐标系->相机坐标系->深度图,可以采用现有的多种方法进行转换。
世界坐标系->相机坐标系:
Pcamera=R-1*(Pworld-T) (1-2);
其中,Pcamera为相机坐标系下的坐标,Pworld为第一像素点的坐标,R旋转矩阵,T为平移矩阵。
相机坐标系->深度图:可以使用现有的转换方法,按照相机的成像模型反投影,转换为深度图中的最终轨迹像素点。
S305,基于最终轨迹像素点确定窗口滑动轨迹。得到的窗口滑动轨迹如图4所示。
由于拍摄者不同以及拍摄所用仪器的精度不同,深度图需要进行矫正并且在深度图中可能还会有很多噪点,因此,需要矫正深度图以及过滤离群点。图5为本公开的自动截图方法的一个实施例中的进行过滤处理的流程图,如图5所示的方法包括步骤:S501-S504。下面对各步骤分别进行说明。
S501,在深度图中设置窗口检测区域;其中,窗口检测区域包含有全部初始轨迹像素点。
在一个实施例中,可以在深度图中设置矩形的窗口检测区域,窗口检测区域的中心为全部初始轨迹像素点组成的像素行,窗口检测区域能够包含全部初始轨迹像素点,以及在深度检测窗口的窗口中进行滑动的过程中,深度检测窗口中包含的全部像素点。
S502,将窗口检测区域内的全部像素点转换为在世界坐标系下的第一像素点或第二像素点。
S503,对第一像素点和第二像素点进行过滤处理,确定离群点。
S504,在深度图中去除与离群点相对应的像素点。
确定离群点可以使用多种方法。例如,在世界坐标系下以第一像素点或第二像素点为圆心并以预设的长度为半径,生成一个球体;如果球体内的像素点的数量小于预设的阈值,则确定第一像素点或第二像素点为离群点。
例如,在世界坐标系下,对第一像素点和第二像素点以R为半径划一个球,统计像素点在球内的数量。如果球内点的数量小于阈值K,则为离群点,将其滤除。R可以取0.1m等,K可以取10等。
在一个实施例中,深度检测窗口为自适应的深度检测窗口。在窗口滑动轨迹上确定窗口中心当前所在的像素点,获取此像素点的深度值并基于此深度值确定深度检测窗口的大小。
例如,使用一个自适应的深度检测窗口,在深度图上沿着窗口滑动轨迹进行滑动。深度检测窗口可以为正方形的窗口,深度检测窗口的大小如下式所示:
S=30+[(4500-d)//200],d<=4500mm (1-3);
其中,S为自适应的深度检测窗口的边长,单位为pixel。d为像素点的深度,单位为mm。当d大于4500mm的时候,S依然为30个像素宽度、“//”的含义为整除运算。
在一个选取深度图中间一行的像素点,将其投影至世界坐标系,滤除离群点之后,将所有点的Y轴坐标设为1.3-1.5;反投影回深度图像中,生成窗口滑动轨迹;使用一个自适应的深度检测窗口按照得到的窗口滑动轨迹进行滑动,计算所有窗口的平均深度并比较。
使深度检测窗口的窗口中心沿着如图4所示的窗口滑动轨迹进行滑动,深度图为360°的深度图,深度检测窗口的滑动步长为5°,对应深度图上的像素距离为W/72,W为深度图的宽度,统计深度检测窗口里所有像素点的深度,并计算其平均值。
假设窗口大小为U,深度图宽度为W,窗口滑动轨迹的坐标为(i,j)(第i行,第j列)。当i>=W-U时,窗口将超过图片的边界。因为深度图和全景图是一一对应的关系,所以深度图也是360°闭环。因此,实际上的深度检测窗口的列坐标的范围如下:
i≤pixel≤(i+U)%W (1-4);
一个房屋模型的拍摄有多个点位,为了加快统计深度检测窗口里所有像素点的深度,并计算其平均值的处理速度,可以使用OpenCV的meanStdDev()函数。平均每个点位的处理时间在0.2s。
图6为本公开的自动截图方法的一个实施例中的在全景图中确定截图中心像素点的流程图,如图6所示的方法包括步骤:S601-S603。下面对各步骤分别进行说明。
S601,基于第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角。
S602,根据偏转角和俯仰角计算坐标值在与全景图对应的空间坐标系中的经度和纬度。
S603,基于经度和纬度在全景图中确定第二截图中心像素点。
在一个实施例中,当平均深度值最大时,深度检测窗口的窗口中心的行列坐标分别为i,j,为第一截图中心像素点;与全景图对应的空间坐标系可以为CUBE空间坐标系,第一截图中心像素点的坐标值需要转换至CUBE空间坐标系下的经纬度并进行截图。
因为在VR漫游的过程中,观看者都是在一个正方体虚拟空间中切换视角来观看的,因此,截图时需要将相机坐标系的角度转换为CUBE空间坐标系中的经纬度。在深度图对应的相机坐标系中,基于第一截图中心像素点的坐标值i,j计算在相机坐标系下的偏转角θ和俯仰角γ分别如下所示:
θ=j*360/W; (1-5);
γ=180/2-i*180/H (1-6);
转换经纬度如下式所示:
J=(θ+180)%360 (1-7);
L=γ (1-8);
其中,公式(1-7)中的“%”的含义为取余操作。基于第一截图中心像素点的坐标值计算相应的偏转角和俯仰角,并转换至CUBE坐标系下的经度和纬度,基于经度和纬度在全景图中确定第二截图中心像素点,可以使用多种现有的方法在全景图中以此第二截图中心像素点为中心,进行截图操作。
在一个实施例中,图7A为全景图,与图7A相对应的深度图如图7B所示,深度图中的圆形实心点代表了截图窗口的中心点,即第一截图中心像素点,图7C为在全景图中进行截图操作获取的截图。图8A为另一全景图,图8B为使用本公开的自动截图方法获取的截图。
示例性装置
在一个实施例中,如图9所示,本公开提供一种自动截图装置,包括:深度图获取模块901、滑动轨迹确定模块902、窗口深度检测模块903、截图中心获取模块904和图像截取处理模块905。
深度图获取模块901获取图像采集装置在一个点位采集的全景图,并获取与全景图相对应的深度图。滑动轨迹确定模块902在深度图中确定深度检测窗口的窗口滑动轨迹。窗口深度检测模块903使深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动,计算深度检测窗口中包含的全部像素点的平均深度值。
截图中心获取模块904基于平均深度值在深度图中确定第一截图中心像素点。例如,截图中心获取模块904获取最大平均深度值,在窗口滑动轨迹上确定与最大平均深度值相对应的窗口中心所在的像素点,将此像素点作为第一截图中心像素点。
图像截取处理模块905在全景图中确定与第一截图中心像素点相对应的第二截图中心像素点,基于第二截图中心像素点在全景图中截取图像。
在一个实施例中,如图10所示,自动截图装置包括窗口大小设置模块906,窗口大小设置模块906在窗口滑动轨迹上确定窗口中心当前所在的像素点,获取此像素点的深度值并基于此深度值确定深度检测窗口的大小。
在一个实施例中,如图11所示,滑动轨迹确定模块902包括:初始轨迹确定单元9021、第一像素转换单元9022、像素坐标设置单元9023、第二像素转换单元9024、最终轨迹确定单元9025和像素过滤处理单元9026。
初始轨迹确定单元9021获取位于深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点。第一像素转换单元9022将初始轨迹像素点转换为在世界坐标系下的第一像素点。像素坐标设置单元9023获取图像采集装置的高度信息,基于高度信息设置全部第一像素点的用于表征高度的坐标值。第二像素转换单元9024将第一像素点转换为深度图中的最终轨迹像素点。最终轨迹确定单元9025基于最终轨迹像素点确定窗口滑动轨迹。
第二像素转换单元9024将基于第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角,根据偏转角和俯仰角计算坐标值在与全景图对应的空间坐标系中的经度和纬度,基于经度和纬度在全景图中确定第二截图中心像素点。
像素过滤处理单元9026在深度图中设置窗口检测区域;其中,窗口检测区域包含有全部初始轨迹像素点。像素过滤处理单元9026将窗口检测区域内的全部像素点转换为在世界坐标系下的第一像素点或第二像素点,对第一像素点和第二像素点进行过滤处理,确定离群点,在深度图中去除与离群点相对应的像素点。
例如,像素过滤处理单元9026在世界坐标系下以第一像素点或第二像素点为圆心并以预设的长度为半径,生成一个球体如果球体内的像素点的数量小于预设的阈值,则确定第一像素点或第二像素点为离群点。
图12是本公开的电子设备的一个实施例的结构图,如图12所示,电子设备121包括一个或多个处理器1211和存储器1212。
处理器1211可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备121中的其他组件以执行期望的功能。
存储器1212可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器,例如,可以包括:随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器,例如,可以包括:只读存储器(ROM)、硬盘以及闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1211可以运行程序指令,以实现上文的本公开的各个实施例的自动截图方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备121还可以包括:输入装置1213以及输出装置1214等,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备1213还可以包括例如键盘、鼠标等等。该输出装置1214可以向外部输出各种信息。该输出设备1214可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图12中仅示出了该电子设备121中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备121还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的自动截图方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的自动截图方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
上述实施例中的自动截图方法、装置以及电子设备、存储介质,在深度图中确定深度检测窗口的窗口滑动轨迹,使深度检测窗口的窗口中心沿着窗口滑动轨迹进行滑动,计算深度检测窗口中包含的全部像素点的平均深度值,基于平均深度值在深度图中确定第一截图中心像素点;在全景图中确定与第一截图中心像素点相对应的第二截图中心像素点,基于第二截图中心像素点在全景图中截取图像;通过深度图中的深度信息确定点位截图的角度,可以保证获得视觉观感最优的截图角度,用以在全景图中自动截取图像,可以有效地减小人工的工作量,提高工作效率,而且可以保证截取的图像质量。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备以及系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (15)
1.一种自动截图方法,包括:
获取图像采集装置在一个点位采集的全景图,并获取与所述全景图相对应的深度图;
在所述深度图中确定深度检测窗口的窗口滑动轨迹;
使所述深度检测窗口的窗口中心沿着所述窗口滑动轨迹进行滑动,计算所述深度检测窗口中包含的全部像素点的平均深度值;
基于所述平均深度值在所述深度图中确定第一截图中心像素点;
在所述全景图中确定与所述第一截图中心像素点相对应的第二截图中心像素点,基于所述第二截图中心像素点在所述全景图中截取图像;
其中,基于所述第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角;根据所述偏转角和所述俯仰角计算所述坐标值在与所述全景图对应的空间坐标系中的经度和纬度;基于所述经度和所述纬度在所述全景图中确定所述第二截图中心像素点。
2.如权利要求1所述的方法,所述基于所述平均深度值在所述深度图中确定第一截图中心像素点包括:
获取最大平均深度值;
在所述窗口滑动轨迹上确定与所述最大平均深度值相对应的所述窗口中心所在的像素点,将此像素点作为所述第一截图中心像素点。
3.如权利要求1所述的方法,还包括:
在所述窗口滑动轨迹上确定所述窗口中心当前所在的像素点;
获取此像素点的深度值并基于此深度值确定所述深度检测窗口的大小。
4.如权利要求1所述的方法,所述在所述深度图中确定深度检测窗口的窗口滑动轨迹包括:
获取位于所述深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点;
将所述初始轨迹像素点转换为在世界坐标系下的第一像素点;
获取所述图像采集装置的高度信息,基于所述高度信息设置全部第一像素点的用于表征高度的坐标值;
将所述第一像素点转换为所述深度图中的最终轨迹像素点;
基于所述最终轨迹像素点确定所述窗口滑动轨迹。
5.如权利要求4所述的方法,还包括:
在所述深度图中设置窗口检测区域;其中,所述窗口检测区域包含有全部初始轨迹像素点;
将所述窗口检测区域内的全部像素点转换为在世界坐标系下的所述第一像素点或第二像素点;
对所述第一像素点和所述第二像素点进行过滤处理,确定离群点;
在所述深度图中去除与所述离群点相对应的像素点。
6.如权利要求5所述的方法,所述对所述第一像素点和所述第二像素点进行过滤处理,确定离群点包括:
在所述世界坐标系下以所述第一像素点或所述第二像素点为圆心并以预设的长度为半径,生成一个球体;
如果所述球体内的像素点的数量小于预设的阈值,则确定所述第一像素点或所述第二像素点为离群点。
7.如权利要求1所述的方法,其中,
所述深度图中的每个像素点的像素值用于表征此像素点的深度信息。
8.一种自动截图装置,包括:
深度图获取模块,用于获取图像采集装置在一个点位采集的全景图,并获取与所述全景图相对应的深度图;
滑动轨迹确定模块,用于在所述深度图中确定深度检测窗口的窗口滑动轨迹;
窗口深度检测模块,用于使所述深度检测窗口的窗口中心沿着所述窗口滑动轨迹进行滑动,计算所述深度检测窗口中包含的全部像素点的平均深度值;
截图中心获取模块,用于基于所述平均深度值在所述深度图中确定第一截图中心像素点;
图像截取处理模块,用于在所述全景图中确定与所述第一截图中心像素点相对应的第二截图中心像素点,基于所述第二截图中心像素点在所述全景图中截取图像;
其中,所述滑动轨迹确定模块,包括:
第二像素转换单元,将基于所述第一截图中心像素点的坐标值计算在对应的相机坐标系中的偏转角和俯仰角;根据所述偏转角和所述俯仰角计算所述坐标值在与所述全景图对应的空间坐标系中的经度和纬度;基于所述经度和所述纬度在所述全景图中确定所述第二截图中心像素点。
9.如权利要求8所述的装置,其中,
所述截图中心获取模块,用于获取最大平均深度值,在所述窗口滑动轨迹上确定与所述最大平均深度值相对应的所述窗口中心所在的像素点,将此像素点作为所述第一截图中心像素点。
10.如权利要求8所述的装置,还包括:
窗口大小设置模块,用于在所述窗口滑动轨迹上确定所述窗口中心当前所在的像素点,获取此像素点的深度值并基于此深度值确定所述深度检测窗口的大小。
11.如权利要求8所述的装置,其中,
所述滑动轨迹确定模块,包括:
初始轨迹确定单元,用于获取位于所述深度图中心的一行像素点;其中,此行像素点的每一个像素点都为初始轨迹像素点;
第一像素转换单元,用于将所述初始轨迹像素点转换为在世界坐标系下的第一像素点;
像素坐标设置单元,用于获取所述图像采集装置的高度信息,基于所述高度信息设置全部第一像素点的用于表征高度的坐标值;
所述第二像素转换单元,用于将所述第一像素点转换为所述深度图中的最终轨迹像素点;
最终轨迹确定单元,用于基于所述最终轨迹像素点确定所述窗口滑动轨迹。
12.如权利要求11所述的装置,其中,
所述滑动轨迹确定模块,包括:
像素过滤处理单元,用于在所述深度图中设置窗口检测区域;其中,所述窗口检测区域包含有全部初始轨迹像素点;将所述窗口检测区域内的全部像素点转换为在世界坐标系下的所述第一像素点或第二像素点;对所述第一像素点和所述第二像素点进行过滤处理,确定离群点;在所述深度图中去除与所述离群点相对应的像素点。
13.如权利要求12所述的装置,其中,
所述像素过滤处理单元,用于在所述世界坐标系下以所述第一像素点或所述第二像素点为圆心并以预设的长度为半径,生成一个球体如果所述球体内的像素点的数量小于预设的阈值,则确定所述第一像素点或所述第二像素点为离群点。
14.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一项所述的方法。
15.一种电子设备,所述电子设备包括:
处理器;用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298994.1A CN112328150B (zh) | 2020-11-18 | 2020-11-18 | 自动截图方法、装置以及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298994.1A CN112328150B (zh) | 2020-11-18 | 2020-11-18 | 自动截图方法、装置以及设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328150A CN112328150A (zh) | 2021-02-05 |
CN112328150B true CN112328150B (zh) | 2022-03-29 |
Family
ID=74321443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298994.1A Active CN112328150B (zh) | 2020-11-18 | 2020-11-18 | 自动截图方法、装置以及设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328150B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240940A (zh) * | 2021-05-07 | 2021-08-10 | 恒大恒驰新能源汽车研究院(上海)有限公司 | 汽车提醒监控方法、电子设备及存储介质 |
CN114329032B (zh) * | 2021-12-27 | 2024-11-01 | 贝壳技术有限公司 | 图像匹配像素检索方法、装置以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2013228057A1 (en) * | 2012-09-17 | 2014-04-03 | Noble, Steven Edward MR | Software System for Breaking Online Benchmarking Methodologies into Discrete Tasks |
CN106454090A (zh) * | 2016-10-09 | 2017-02-22 | 深圳奥比中光科技有限公司 | 基于深度相机的自动对焦方法及系统 |
CN110097539A (zh) * | 2019-04-19 | 2019-08-06 | 贝壳技术有限公司 | 一种在虚拟三维模型中截取图片的方法及装置 |
CN111401266A (zh) * | 2020-03-19 | 2020-07-10 | 杭州易现先进科技有限公司 | 绘本角点定位的方法、设备、计算机设备和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140748A1 (en) * | 2014-11-14 | 2016-05-19 | Lytro, Inc. | Automated animation for presentation of images |
-
2020
- 2020-11-18 CN CN202011298994.1A patent/CN112328150B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2013228057A1 (en) * | 2012-09-17 | 2014-04-03 | Noble, Steven Edward MR | Software System for Breaking Online Benchmarking Methodologies into Discrete Tasks |
CN106454090A (zh) * | 2016-10-09 | 2017-02-22 | 深圳奥比中光科技有限公司 | 基于深度相机的自动对焦方法及系统 |
CN110097539A (zh) * | 2019-04-19 | 2019-08-06 | 贝壳技术有限公司 | 一种在虚拟三维模型中截取图片的方法及装置 |
CN111401266A (zh) * | 2020-03-19 | 2020-07-10 | 杭州易现先进科技有限公司 | 绘本角点定位的方法、设备、计算机设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112328150A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6077655B2 (ja) | 撮影システム | |
CN112328150B (zh) | 自动截图方法、装置以及设备、存储介质 | |
CN112102199A (zh) | 深度图像的空洞区域填充方法、装置和系统 | |
CN111432119A (zh) | 图像拍摄方法、装置、计算机可读存储介质及电子设备 | |
CN113989376B (zh) | 室内深度信息的获取方法、装置和可读存储介质 | |
WO2021168804A1 (zh) | 图像处理方法、图像处理装置和图像处理系统 | |
CN114640833A (zh) | 投影画面调整方法、装置、电子设备和存储介质 | |
CN112037279A (zh) | 物品位置识别方法和装置、存储介质、电子设备 | |
CN113132708B (zh) | 利用鱼眼相机获取三维场景图像的方法和装置、设备和介质 | |
CN112640419A (zh) | 跟随方法、可移动平台、设备和存储介质 | |
CN112465971B (zh) | 模型中点位的引导方法和装置、存储介质、电子设备 | |
CN111429519B (zh) | 三维场景显示方法、装置、可读存储介质及电子设备 | |
JP6677980B2 (ja) | パノラマビデオデータの処理装置、処理方法及び処理プログラム | |
RU2020107056A (ru) | Системы и способы создания и отображения интерактивных трёхмерных представлений реальных объектов | |
Chew et al. | Panorama stitching using overlap area weighted image plane projection and dynamic programming for visual localization | |
JP2019102941A (ja) | 画像処理装置、画像処理装置の制御方法 | |
WO2024022301A1 (zh) | 视角路径获取方法、装置、电子设备及介质 | |
WO2018100230A1 (en) | Method and apparatuses for determining positions of multi-directional image capture apparatuses | |
CN113438463B (zh) | 正交相机图像的模拟方法和装置、存储介质、电子设备 | |
Belo et al. | Digital assistance for quality assurance: Augmenting workspaces using deep learning for tracking near-symmetrical objects | |
CN112804477B (zh) | 预置点图像参数的确定方法、装置、电子设备及存储介质 | |
JP2021197572A (ja) | カメラ制御装置及びプログラム | |
CN112033284B (zh) | 存储器、基于监控视频的交互测量方法、系统和设备 | |
CN113379838B (zh) | 虚拟现实场景的漫游路径的生成方法和存储介质 | |
CN113382166B (zh) | 摄像设备光心对齐方法和装置、存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |