1.本发明涉及终端技术领域,特别涉及一种测距方法及装置。
背景技术:2.目前测量空间两点之间的距离的方式主要有以下几种:一种是使用直尺、卷尺等传统测 量工具进行手工测量,由于需要随身携带直尺、卷尺等,从而造成随身携带较为不便,且当 测量距离较大(比如10米)时,该种方式的操作较为不便;另一种是使用红外、激光或超声 波等测量工具,通过计算反射信号所耗费的时间差来计算距离,该种方式也需要随身携带测 量工具,且该测量工具通常为精密的电子仪器,测量成本较高。由此可知,现有技术中在测 量两点之间的距离时,通常需要借助专业的测量工具方可进行,当用户没有随身携带上述专 业的测量工具时,则可能导致无法完成测量。
3.综上,目前亟需一种测距方法,用于在不借助专业的测量工具的基础上,对空间两点之 间的距离进行测量。
技术实现要素:4.本技术实施例提供一种测距方法,用于在不借助测量工具的基础上,对空间两点之间的 距离进行测量。
5.第一方面,本技术实施例提供一种测距方法,所述方法包括:
6.获取目标图像以及所述目标图像对应的视差图像或深度图像;
7.对所述视差图像或深度图像进行点云转换,得到点云图像;
8.根据所述点云图像以及所述目标图像中的第一图像点和第二图像点,得到所述第一图像 点对应的第一场景点的三维坐标和所述第二图像点对应的第二场景点的三维坐标;
9.根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,得到所述第一场景点和 所述第二场景点的空间距离。
10.如此,通过上述方式,本技术实施例中的测距方法无需借助专业的测量工具,并可以在 不增加终端设备的硬件成本的基础上简单方便地完成距离的测量;相比于现有技术中的方案 来说,该方法无需限定目标图像为预设清晰度使得适用范围较广,且通过三维坐标来计算空 间距离使得测量的精确度较高。
11.在一种可能的设计中,所述目标图像是根据第一图像和/或第二图像得到的,所述第一图 像为第一摄像装置从第一位置对目标场景进行拍摄得到的,所述第二图像为第二摄像装置从 第二位置对所述目标场景进行拍摄得到的。
12.在一种可能的设计中,获取所述目标图像对应的视差图像,包括:
13.根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值,确定所述目标图像对应的视差图像。
14.在一种可能的设计中,获取所述目标图像对应的深度图像,包括:
15.确定所述目标图像中每个图像点对应的场景点的深度值;
16.根据所述目标图像中每个图像点对应的场景点的深度值,确定所述目标图像对应的深度 图像。
17.在一种可能的设计中,所述第一摄像装置的焦距和所述第二摄像装置的焦距相同;
18.确定所述目标图像中每个图像点对应的场景点的深度值,包括:
19.根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值、所述第一位置和所述第二位置之间的距离和所述焦距,确定所述目标图像中每个图像点 对应的场景点的深度值。
20.在一种可能的设计中,根据所述第一场景点的三维坐标和所述第二场景点的三维坐标, 得到所述第一场景点和所述第二场景点的空间距离,包括:
21.根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,通过欧式距离公式得到 所述第一场景点和所述第二场景点的初始空间距离;
22.将所述初始空间距离作为所述第一场景点和所述第二场景点的空间距离;或者,根据所 述初始空间距离和预设距离补偿值得到所述第一场景点和所述第二场景点的空间距离。
23.通过上述方式,通过考虑预设距离补偿值能够有效提供结果的准确性。
24.第二方面,本技术实施例提供一种测距装置,所述测距装置包括:
25.获取单元,用于获取目标图像以及所述目标图像对应的视差图像或深度图像;
26.转换单元,用于对所述视差图像或深度图像进行点云转换,得到点云图像;
27.处理单元,用于根据所述点云图像以及所述目标图像中的第一图像点和第二图像点,得 到所述第一图像点对应的第一场景点的三维坐标和所述第二图像点对应的第二场景点的三维 坐标;以及,根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,得到所述第一 场景点和所述第二场景点的空间距离。
28.在一种可能的设计中,所述目标图像是根据第一图像和/或第二图像得到的,所述第一图 像为第一摄像装置从第一位置对目标场景进行拍摄得到的,所述第二图像为第二摄像装置从 第二位置对所述目标场景进行拍摄得到的。
29.在一种可能的设计中,所述获取单元具体用于:
30.根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值,确定所述目标图像对应的视差图像。
31.在一种可能的设计中,所述获取单元具体用于:
32.确定所述目标图像中每个图像点对应的场景点的深度值;
33.根据所述目标图像中每个图像点对应的场景点的深度值,确定所述目标图像对应的深度 图像。
34.在一种可能的设计中,所述第一摄像装置的焦距和所述第二摄像装置的焦距相同;
35.所述获取单元具体用于:
36.根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值、所述第一位置和所述第二位置之间的距离和所述焦距,确定所述目标图像中
每个图像点 对应的场景点的深度值。
37.在一种可能的设计中,所述处理单元具体用于:
38.根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,通过欧式距离公式得到 所述第一场景点和所述第二场景点的初始空间距离;
39.将所述初始空间距离作为所述第一场景点和所述第二场景点的空间距离;或者,根据所 述初始空间距离和预设距离补偿值得到所述第一场景点和所述第二场景点的空间距离。
40.在一种可能的设计中,所述测距装置为半导体芯片,所述半导体芯片被设置在终端设备 内;
41.其中,所述第一摄像装置和所述第二摄像装置均为所述终端设备的后置摄像装置;或, 所述第一摄像装置和所述第二摄像装置均为所述终端设备的前置摄像装置。
42.在一种可能的设计中,所述测距装置为终端设备;
43.其中,所述第一摄像装置和第二摄像装置均为所述终端设备的后置摄像装置;或,所述 第一摄像装置和第二摄像装置均为所述终端设备的前置摄像装置。
44.本技术的又一实施例提供一种测距装置,所述装置包括:
45.存储器,用于存储软件程序;
46.处理器,用于读取所述存储器中的软件程序并执行实现上述任一种设计中的测距方法。
47.本技术的又一实施例提供一种计算机存储介质,所述存储介质中存储软件程序,该软件 程序在被一个或多个处理器读取并执行时实现上述任一种设计中的测距方法。
48.本技术的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使 得计算机执行上述各方面所述的方法。
49.本技术的又一方面提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上 述各方面所述的方法。
附图说明
50.图1为本技术实施例提供的一种测距装置的结构示意图;
51.图2为本技术实施例提供的一种测距方法对应的流程示意图;
52.图3a为终端设备拍摄的目标图像示意图;
53.图3b为目标图像对应的视差图像;
54.图3c为根据视差图像转换得到的点云图像;
55.图3d为显示空间距离示意图;
56.图4为根据两个摄像装置获取深度图像的原理示意图;
57.图5为本技术实施例中的测距方法的整体执行流程示意图;
58.图6a为终端设备处于待机状态的界面显示示意图;
59.图6b为终端设备进入待拍摄状态的界面示意图;
60.图6c为终端设备显示目标图像示意图;
61.图6d为用户选定的两个图像点对应的场景点的空间距离示意图;
62.图6e为更新后的空间距离示意图;
63.图7为本技术实施例提供的另一种测距装置的结构示意图。
具体实施方式
64.下面结合说明书附图对本技术进行具体说明,方法实施例中的具体操作方法也可以应用 于装置实施例中。
65.现有技术中通常需要借助专业的测量工具对不同物体之间的距离进行测量,从而给用户 造成不便。考虑到手机等终端设备几乎已经成为人们随身携带的必需品,若利用这些终端设 备来测量距离,则用户可无需再携带专业的测量工具。
66.目前,一种利用手机测距的方案为:预先建立手机拍照的缩放比例和摄像头参数的对应 关系,在用户需要知道目标物的实际地理位置距离时,例如:两个山峰之间的实际距离,可 以利用手机对目标物进行拍照,即对两个山峰进行拍照,并且获取该目标物清晰度最大的图 像,以及此时该目标物在该图像中的缩放比例;手机获取用户在这张图像上输入的两个待测 量目标点,计算这两个待测量目标点在该图像中的图像距离,根据这两个待测目标点在该图 像中的图像距离及目标物在该图像中的缩放比例可以计算出这两个待测目标点之间的实际地 理位置距离,即这两个山峰之间的实际地理位置距离。
67.上述方案中,终端设备根据目标物在图像中的缩放比例可以计算出两点之间的距离,然 而,一方面,上述方案的适用性较为有限,比如清晰度不高的区域则可能无法测量,另一方 面,通过缩放比例来估算距离会导致测量的精确度不高。
68.基于此,本技术实施例提供一种测距方法,用于在不借助专业的测量工具的基础上,对 不同物体之间的距离进行测量。
69.具体来说,该方法包括:获取目标图像以及目标图像对应的视差图像或深度图像,进而 通过对视差图像或深度图像进行点云转换,得到点云图像;进而根据点云图像以及目标图像 中的第一图像点和第二图像点,得到第一图像点对应的第一场景点的三维坐标和第二图像点 对应的第二场景点的三维坐标,以及得到第一场景点和第二场景点的空间距离。通过上述方 式,本技术实施例中的测距方法无需借助专业的测量工具,并可以在不增加终端设备的硬件 成本的基础上简单方便地完成距离的测量;相比于现有技术中的方案来说,该方法无需限定 目标图像为预设清晰度使得适用范围较广,且通过三维坐标来计算空间距离使得测量的精确 度较高。
70.本技术实施例中的测距方法可以由测距装置来执行。其中,所述测距装置可以为半导体 芯片,所述半导体芯片被设置于终端设备内;或者,所述测距装置也可以为终端设备。如图 1所示,为本技术实施例提供的一种测距装置100,包括至少一个处理器11,通信总线12, 存储器13以及至少一个通信接口14。
71.处理器11可以是一个通用中央处理器(cpu),微处理器,特定应用集成电路 (application
‑
specific integrated circuit,asic),或一个或多个用于控制本技术方案程序执行的 集成电路。
72.通信总线12可包括一通路,在上述组件之间传送信息。所述通信接口14,使用任何收 发器一类的装置,用于与其他设备或通信网络通信。
73.存储器13可以是只读存储器(read
‑
only memory,rom)或可存储静态信息和指令的其 他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储
信息和 指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasableprogrammable read
‑
only memory,eeprom)、只读光盘(compact disc read
‑
only memory, cd
‑
rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝 光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结 构形式的期望的程序代码并能够由该装置存取的任何其他介质,但不限于此。存储器可以是 独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
74.其中,所述存储器13用于存储执行本技术方案的应用程序代码,并由处理器11来控制 执行,也就是说,所述处理器11用于执行所述存储器13中存储的应用程序代码实现本技术 实施例中的测距方法。
75.在具体实现中,作为一种实施例,处理器11可以包括一个或多个cpu,例如图1中的 cpu0和cpu1。
76.在具体实现中,作为一种实施例,该装置100可以包括多个处理器,例如图1中的处理 器11和处理器15。这些处理器中的每一个可以是一个单核(single
‑
cpu)处理器,也可以是 一个多核(multi
‑
cpu)处理器。这里的处理器可以指一个或多个电路和/或用于处理数据(例 如计算机程序指令)的处理核。
77.进一步地,当所述测距装置为设置在终端设备内的半导体芯片时,所述终端设备还可以 包括第一拍摄装置和第二拍摄装置,第一摄像装置和第二摄像装置均为所述终端设备的后置 摄像装置;或者,第一摄像装置和第二摄像装置均为所述终端设备的前置摄像装置。
78.当所述测距装置为终端设备时,所述测距装置中还可以包括第一拍摄装置和第二拍摄装 置(未在图1中示意),第一摄像装置和第二摄像装置均为所述终端设备的后置摄像装置;或 者,第一摄像装置和第二摄像装置均为所述终端设备的前置摄像装置。
79.需要说明的是,上述所描述的终端设备可以为手机(mobile phone)、平板电脑(pad)等 等。
80.图2为本技术实施例提供的一种测距方法对应的流程示意图,该测距方法可以由图1中 所示意的测距装置100来执行。如图2所示,该方法包括:
81.步骤201,获取目标图像以及所述目标图像对应的视差图像或深度图像。
82.此处,目标图像是根据第一图像和/或第二图像得到的,所述第一图像为第一摄像装置从 第一位置对目标场景进行拍摄得到的,所述第二图像为第二摄像装置从第二位置对所述目标 场景进行拍摄得到的。
83.在一种可能的实现方式中,第一摄像装置和第二摄像装置均为终端设备的后置摄像装置。 进一步地,所述第一摄像装置的光心和所述第二摄像装置的光心在横向上间隔设定距离,所 述第一摄像装置和所述第二摄像装置的焦距相同。在一个示例中,第一摄像装置为彩色摄像 装置,第二摄像装置为辅助摄像装置,或者,反之;在另一个示例中,第一摄像装置为彩色 摄像装置,第二摄像装置为黑白摄像装置,或者,反之。
84.本技术实施例中的第一摄像装置具体可以为摄像头,第二摄像装置具体也可以为摄像头。 在一个示例中,用户触发终端设备的测距功能后,终端设备使用所述第一摄像装置从第一位 置对所述目标场景进行拍摄,得到第一图像,以及使用所述第二摄像装置从第
二位置对所述 目标场景进行拍摄,得到第二图像,并将第一图像和第二图像进行融合,得到目标图像,从 而可以提升拍照效果。在其它实施例中,终端设备也可以直接将第一图像或第二图像作为所 述目标图像,具体不做限定。如图3a所示,为目标图像示意图。
85.需要说明的是:第一图像和第二图像为用户触发终端设备的测距功能后,终端设备同时 启动第一摄像装置和第二摄像装置拍摄得到的;上述第一位置可以理解为第一摄像装置的光 心,第二位置可以为第一摄像装置的光心,第一位置和第二位置之间的距离即为所述设定距 离。
86.进一步地,获取目标图像对应的视差图像,可以为:根据所述目标图像中每个图像点对 应的场景点在所述第一图像和所述第二图像中的视差值,确定所述目标图像对应的视差图像。 获取所述目标图像对应的深度图像,包括:确定所述目标图像中每个图像点对应的场景点的 深度值;根据所述目标图像中每个图像点对应的场景点的深度值,确定所述目标图像对应的 深度图像。具体来说,可以根据所述目标图像中每个图像点对应的场景点在所述第一图像和 所述第二图像中的视差值、所述第一位置和所述第二位置之间的距离和所述焦距,确定所述 目标图像中每个图像点对应的场景点的深度值。
87.本技术实施例中,目标图像对应的视差图像即是指与所述目标图像的大小相同、且元素 值为目标图像中的图像点对应的场景点的视差值的图像。目标图像对应的深度图像即是指与 所述目标图像的大小相同、且元素值为目标图像中的图像点对应的场景点的深度值的图像。
88.下面以深度图像为例进行描述。
89.图4为根据两个摄像装置获取深度图像的原理示意图。如图4所示,ol为第一摄像装置 (也可以称为左摄像装置)的光心,or为第二摄像装置(也可以称为右摄像装置)的光心, 两个光心之间的设定距离为b,两个光心之间的线段即为第一摄像装置和第二摄像装置的基 线。位于左侧的一条长度为l的线段表示第一摄像装置的成像面,位于右侧的一条长度为l 的线段表示第二摄像装置的成像面,第一摄像装置的成像面和第二摄像装置的成像面位于同 一平面上。第一摄像装置的光心到第一摄像装置的成像面的最短距离即为第一摄像装置的焦 距,第二摄像装置的光心到第二摄像装置的成像面的最短距离即为第二摄像装置的焦距,如 图3可知,第一摄像装置和第二摄像装置的焦距长度均为f。若p为目标场景中的一个场景点, 其在第一摄像装置的成像面上的图像点(即第一图像中的图像点)为pl,在第二摄像装置的 成像面上的图像点(即第二图像中的图像点)为pr,pl和pr距各自像面的左边缘的距离分 别是xl和xr。场景点p的视差值(即场景点p在第一图像和第二图像中的视差值)为场景 点p对应的图像点pl和图像点pr在像平面坐标系中的横坐标之差,即为xr
‑
xl或者 xl
‑
xr。场景点p的深度值即为场景点p到第一摄像装置和第二摄像装置的基线的距离z。
90.根据三角形相似原理,存在如下比例关系:
[0091][0092]
又可以写为:
[0093][0094]
于是有:
[0095][0096]
可推导出:
[0097][0098]
根据上述内容可知,根据场景点p的视差值、第一摄像装置的光心和第二摄像装置的光 心之间的设定距离以及焦距,通过计算可以得到场景点p的深度值。如此,通过计算目标图 像中的图像点对应的各个场景点的深度值,即可得到目标图像对应的深度图像。同样地,通 过计算目标图像中的图像点对应的各个场景点的视差值,即可得到目标图像对应的视差图像, 如图3b所示,为图3a中的目标图像对应的视差图像。
[0099]
需要说明的是,图4是以终端设备的两个摄像装置左右设置为例,因此,场景点p的视 差值为场景点p对应的图像点pl和图像点pr在像平面坐标系中的横坐标之差。在其它可能 的实施例中,终端设备的两个摄像装置也可以设置为其它的位置关系,比如上下设置,此时, 场景点p的视差值仍可根据场景点p对应的图像点pl和图像点pr在像平面坐标系中的坐标 计算得到的,具体的计算方式此处不再详述。
[0100]
进一步地,图4所示意的原理图(理想情况)中,第一摄像装置的主点坐标对应于第一 摄像装置的成像面(l)的中心,第二摄像装置的主点坐标对应于第二摄像装置的成像面(l) 的中心,因此,场景点p的深度值为上述公式4中计算得到的z。
[0101]
而真实情况中,摄像装置的主点坐标可能并非对应于成像面的中心,此时,场景点p的 深度值可以通过如下公式得到:
[0102][0103]
其中,c
′
x
是第二摄像装置的主点横坐标,c
x
是第一摄像装置的主点横坐标。
[0104]
步骤202,对所述视差图像或所述深度图像进行点云转换,得到点云图像。
[0105]
此处,以对视差图像进行点云转换为例,根据三角形相似原理,定义了一个映射矩阵q, 建立场景点的视差值与真实三维坐标的关系,其中,q的表达式如下所示:
[0106][0107]
其中,c
x
和c
y
是第一摄像装置的主点坐标,c
′
x
是第二摄像装置的主点横坐标。
[0108]
进而,针对于目标图像中的任一图像点在像平面坐标系中的坐标(x,y)以及任一图像 点对应的场景点的视差值d,通过如下公式进行转换,可得到任一图像点对应的场景
点在以 第一摄像装置为参考坐标系中的三维坐标,实现三维重建,得到点云图像。
[0109][0110]
其中,(x/w,y/w,z/w)为图像点(x,y)对应的场景点的三维坐标。
[0111]
需要说明的是,若在步骤201中,得到的为目标图像对应的视差图像,则可以采用上述 是对视差图像进行点云转换,如图3c所示,为根据图3b中的视差图像转换得到的点云图像; 若在步骤201中,得到的是为目标图像对应的深度图像,则可以对深度图像进行点云转换, 得到点云图像,具体的转换过程与上述对视差图像进行点云转换的流程相同,其差别在于: 对深度图像进行点云转换时所使用的映射矩阵与对视差图像进行点云转换时所使用的映射矩 阵可能不同。
[0112]
步骤203,根据所述点云图像以及所述目标图像中的第一图像点和第二图像点,得到所 述第一图像点对应的第一场景点的三维坐标和所述第二图像点对应的第二场景点的三维坐 标。
[0113]
步骤204,根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,得到所述第 一场景点和所述第二场景点的空间距离。
[0114]
在一种可能的实现方式中,终端设备中还可以包括显示屏,用户可通过显示屏查看目标 图像,若显示屏为触摸屏,则用户在查看目标图像后,可通过手指触摸选定第一图像点和第 二图像点。相应地,终端设备检测到用户的触摸操作并确定用户选定第一图像点和第二图像 点(可参见图3d所示)后,由于在步骤202中已通过点云转换得到各个图像点对应的场景点 的三维坐标,则可分别获取第一图像点对应的第一场景点的三维坐标和第二图像点对应的第 二场景点的三维坐标,进而通过欧式距离公式可得到第一场景点和第二场景点之间的初始空 间距离。
[0115]
在一个示例中,可以直接将所述初始空间距离作为所述第一场景点和所述第二场景点的 空间距离。
[0116]
在另一个示例中,为提高结果的准确性,终端设备还可以获取预设距离补偿值,进而根 据初始空间距离和预设距离补偿值得到第一场景点和第二场景点之间的空间距离。
[0117]
其中,预设距离补偿值可以通过多种方式得到。一种可能的实现方式为,用户触发终端 设备的校准功能后,由用户在预设图像中标定两个图像点,且两个图像点对应的场景点之间 的空间距离为预设距离,比如10cm;具体实施中,用户可在终端设备的校准模式下,拍摄一 张包含标尺的图像,从而便于标定出预设距离。若终端设备通过计算得到两个图像点对应的 场景点之间的距离为9cm,由于终端设备计算结果的误差值为1cm,则可将预设距离补偿值 设置为1cm,后续在测距过程中,将计算得出距离和预设距离补偿值相加,得到最终结果。 为进一步提高准确性,可由用户进行多次标定,比如,分别标定任意10cm、20cm、40cm、 80cm、160cm、200cm的两个点,进而由终端设备根据多次标定得到的误差值得到预设距离 补偿值,比如,可以将多次标定得到的误差值的平均值作为预设距离补偿值。
[0118]
本技术实施例中,终端设备得到第一场景点和第二场景点之间的空间距离后,可
将其标 记在目标图像上并显示给用户,如图3d所示,终端设备得到的空间距离为9.72641cm。若用 户确定该结果的准确性不高,则可触发终端设备的辅助调优功能,相应地,终端设备可将目 标图像以及用户标定的第一图像点和第二图像点的信息上传给服务器,服务器中可包括预设 的测距模型,进而服务器可根据目标图像以及第一图像点和第二图像点的信息通过预设的测 距模型得到空间距离,并返回给终端设备,由终端设备显示给用户。其中,服务器中的测距 模型可以是通过人工智能训练方式得到的,此处不做具体限定。
[0119]
下面结合图5对本技术实施例中的测距方法的整体执行流程进行描述。需要说明的是, 图5中仅是以测距装置为终端设备为例来进行描述的。如图5所示,包括:
[0120]
步骤501,终端设备确定用户触发终端设备的拍照功能后,启动第一摄像装置和第二摄 像装置,进入待拍摄状态。
[0121]
具体实施中,以终端设备为具有触摸屏的手机为例,图6a为终端设备处于待机状态的界 面显示示意图,用户可通过触摸操作触发终端设备的拍照功能。图6b为终端设备进入待拍摄 状态的界面示意图。
[0122]
步骤502,终端设备确定用户打开拍摄功能开关后,判断测距功能是否开启,若是,执 行步骤503,若否,则执行步骤508。
[0123]
此处,终端设备进入待拍摄状态后,可在待拍摄的界面上显示拍摄功能开关和测距功能 开关,参见图6b所示,如此,用户可以通过触摸操作打开拍摄功能开关和测距功能开关。
[0124]
需要说明的是,本技术实施例中,终端设备在用户打开拍摄功能开关之前判断测距功能 是否开启,具体不做限定。
[0125]
步骤503,终端设备使用第一摄像装置和第二摄像装置对目标场景进行拍摄,得到目标 图像以及目标图像对应的视差图像或深度图像。
[0126]
此处,第一摄像装置和第二摄像装置可以均为终端设备的后置摄像装置。
[0127]
终端设备得到目标图像后,可将目标图像显示给用户,如图6c所示,而目标图像对应的 视差图像或深度图像仅为测距过程中终端设备所执行的中间处理步骤所得到的结果,无需显 示。
[0128]
步骤504,终端设备对视差图像或深度图像进行点云转换,得到目标图像中的图像点对 应的场景点的三维坐标。
[0129]
此处,终端设备得到目标图像中的图像点对应的场景点的三维坐标后,可先存储,以便 于后续在用户选定图像点后计算空间距离。
[0130]
步骤505,终端设备对用户选定的两个图像点对应的场景点的空间距离进行测量。
[0131]
此处,用户可通过触摸操作在目标图像上选定两个图像点,参见图6d所示,具体的选定 方式可以有多种,本技术实施例对此不做限定。
[0132]
具体来说,可获取两个图像点对应的场景点的三维坐标,根据欧式距离公式得到初始空 间距离,进而根据初始空间距离和预设距离补偿值得到空间距离。
[0133]
本技术实施例中,终端设备进入待拍摄状态后,可在待拍摄的界面上显示校准功能开关, 参见图6b所示,如此,用户可以通过触摸操作打开校准功能开关,相应地,终端设备可进入 校准模式,以便于得到预设距离补偿值。具体参见上述描述,此处不再赘述。
[0134]
步骤506,终端设备将测量得到的空间距离标记在目标图像中,显示给用户。
[0135]
此处,参见图6d,示意出了用户选定的两个图像点对应的场景点的空间距离,其单位可 以预先设定,比如cm。
[0136]
步骤507,终端设备确定用户打开辅助调优功能后,将目标图像以及用户选定的两个图 像点的信息发给服务器,并接收服务器返回的空间距离,进而根据服务器返回的空间距离对 目标图像中标记的空间距离进行更新。
[0137]
此处,终端设备进入待拍摄状态后,可在待拍摄的界面上显示辅助调优功能开关,参见 图6b所示,如此,用户可以通过触摸操作打开辅助调优功能开关。
[0138]
参见图6e,示意出了更新后的空间距离。
[0139]
步骤508,终端设备使用第一摄像装置和第二摄像装置对目标场景进行拍摄,得到目标 图像。此处,由于用户未触发测距功能,因此可执行正常的拍摄流程得到目标图像。
[0140]
需要说明的是,(1)上述步骤编号仅为执行流程的一种可能示例,具体实施中对各个步 骤的先后顺序不做限定;(2)图6b所示意的多个功能开关的位置和实现方式仅为一种示例, 在其它实施例中,多个功能开关也可以位于其它位置,或者通过其它方式实现,具体不做限 定。(3)针对于目标图像,终端设备可以对用户多次选定的两个图像点的场景点的空间距离 进行计算,也就是说,用户选定图像点a1和a2,由终端设备计算出对应的场景的空间距离后, 用户还可以继续选定图像点b1和b2,由终端设备计算出对应的场景的空间距离,具体的次 数不做限定。
[0141]
根据上述流程可知,本技术实施例中是基于现有的终端拍照功能来实现测距功能,从而 无需借助测量工具,并可以在不增加终端设备的硬件成本的基础上简单方便地完成距离的测 量。
[0142]
需要说明的是,本技术实施例中所涉及的场景点即是指目标场景中的某个三维坐标对应 的位置,举个例子,假设图6d中所示意出的两个波峰从左至右依次为第一座山的山顶和第二 座山的山顶,则第一图像点对应的场景点即为三维空间中第一座山的山顶位置,第二图像点 对应的场景点即为三维空间中第二座山的山顶位置。
[0143]
针对于上述方法流程,本技术实施例还提供一种测距装置,该测距装置的具体实现可参 见上述方法流程。
[0144]
基于相同发明构思,图7为本技术实施例提供的另一种测距装置的结构示意图,该测距 装置可以为半导体芯片(可设置在终端设备内)或者终端设备,该测距装置可用于执行上述 图2所示意的方法流程,如图7所示,该测距装置700包括:
[0145]
获取单元701,用于获取目标图像以及所述目标图像对应的视差图像或深度图像;
[0146]
转换单元702,用于对所述视差图像或深度图像进行点云转换,得到点云图像;
[0147]
处理单元703,用于根据所述点云图像以及所述目标图像中的第一图像点和第二图像点, 得到所述第一图像点对应的第一场景点的三维坐标和所述第二图像点对应的第二场景点的三 维坐标;以及,根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,得到所述第 一场景点和所述第二场景点的空间距离。
[0148]
在一种可能的设计中,所述目标图像是根据第一图像和/或第二图像得到的,所述第一图 像为第一摄像装置从第一位置对目标场景进行拍摄得到的,所述第二图像为第二摄像装置从 第二位置对所述目标场景进行拍摄得到的。
[0149]
在一种可能的设计中,所述获取单元701具体用于:
[0150]
根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值,确定所述目标图像对应的视差图像。
[0151]
在一种可能的设计中,所述获取单元701具体用于:
[0152]
确定所述目标图像中每个图像点对应的场景点的深度值;
[0153]
根据所述目标图像中每个图像点对应的场景点的深度值,确定所述目标图像对应的深度 图像。
[0154]
在一种可能的设计中,所述第一摄像装置的焦距和所述第二摄像装置的焦距相同;
[0155]
所述获取单元701具体用于:
[0156]
根据所述目标图像中每个图像点对应的场景点在所述第一图像和所述第二图像中的视差 值、所述第一位置和所述第二位置之间的距离和所述焦距,确定所述目标图像中每个图像点 对应的场景点的深度值。
[0157]
在一种可能的设计中,所述处理单元703具体用于:
[0158]
根据所述第一场景点的三维坐标和所述第二场景点的三维坐标,通过欧式距离公式得到 所述第一场景点和所述第二场景点的初始空间距离;
[0159]
将所述初始空间距离作为所述第一场景点和所述第二场景点的空间距离;或者,根据所 述初始空间距离和预设距离补偿值得到所述第一场景点和所述第二场景点的空间距离。
[0160]
在一种可能的设计中,所述测距装置700为半导体芯片,所述半导体芯片被设置在终端 设备内;
[0161]
其中,所述第一摄像装置和所述第二摄像装置均为所述终端设备的后置摄像装置;或, 所述第一摄像装置和所述第二摄像装置均为所述终端设备的前置摄像装置。
[0162]
在一种可能的设计中,所述测距装置700为终端设备;
[0163]
其中,所述第一摄像装置和第二摄像装置均为所述终端设备的后置摄像装置;或,所述 第一摄像装置和第二摄像装置均为所述终端设备的前置摄像装置。
[0164]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式。在本技术的实施例中的各功能单元可以集成在一个处理 单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。 上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0165]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当 使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包 括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产 生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算 机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从 一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从 一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、
服务器或数据中心进 行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或 多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例 如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid statedisk,ssd))等。
[0166]
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。 因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计 算机可用存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机 程序产品的形式。
[0167]
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机 程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0168]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工 作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制 造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指 定的功能。
[0169]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或 其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编 程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的步骤。
[0170]
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本技术的精 神和范围。这样,倘若本发明实施例的这些修改和变型属于本技术权利要求及其等同技术的 范围之内,则本技术也意图包含这些改动和变型在内。