CN113747044B - 一种全景拍摄方法及设备 - Google Patents
一种全景拍摄方法及设备 Download PDFInfo
- Publication number
- CN113747044B CN113747044B CN202010478652.1A CN202010478652A CN113747044B CN 113747044 B CN113747044 B CN 113747044B CN 202010478652 A CN202010478652 A CN 202010478652A CN 113747044 B CN113747044 B CN 113747044B
- Authority
- CN
- China
- Prior art keywords
- path
- sub
- image
- electronic device
- electronic equipment
- 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 124
- 230000008569 process Effects 0.000 claims abstract description 61
- 238000013507 mapping Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 32
- 239000000284 extract Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims 7
- 238000010586 diagram Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 25
- 238000013461 design Methods 0.000 description 24
- 239000011159 matrix material Substances 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例提供一种全景拍摄方法及设备,涉及电子技术领域,能够将不同角度采集的图像在相互垂直的两个方向上分别进行拼接以生成全景图像,从而可以在两个方向上扩展全景图像的视场角,提高用户的全景拍摄体验。具体方案为:电子设备进入相机应用的全景拍摄模式;电子设备在预览界面上显示第一引导信息,第一引导信息包括第一引导路径;第一引导路径包括沿第一方向设置且相互平行的至少两条子路径,第一方向与电子设备的一条侧边平行,第一引导路径用于引导用户在拍摄过程中沿第一引导路径转动电子设备。本申请实施例用于拍摄全景图像。
Description
技术领域
本申请实施例涉及电子技术领域,尤其涉及一种全景拍摄方法及设备。
背景技术
随着电子技术的发展,手机等电子设备的相机功能越来越强大。电子设备可以支持多种拍摄模式和功能。比如,电子设备可以支持夜景拍摄、美肤拍摄、延时摄影拍摄或全景拍摄等。其中,在全景拍摄时,手机可以按照如图1所示的引导线01引导用户转动手机,使得手机采集多帧不同角度的图像,并将不同角度的图像在引导线01的延伸方向上进行拼接,从而形成一个视场角较广的全景图像。然而,这种全景拍摄方式缺少新意,无法满足用户日益增长的多样化拍摄需求。
发明内容
本申请实施例提供一种全景拍摄方法及设备,能够将不同角度采集的图像在相互垂直的两个方向上分别进行拼接以生成全景图像,从而可以在两个方向上扩展全景图像的视场角,提高用户的全景拍摄体验。
为达到上述目的,本申请实施例采用如下技术方案:
一方面,本申请实施例提供了一种全景拍摄方法,包括:电子设备进入相机应用的全景拍摄模式。电子设备在预览界面上显示第一引导信息,第一引导信息包括第一引导路径。其中,第一引导路径包括沿第一方向设置且相互平行的至少两条子路径,第一方向与电子设备的一条侧边平行,第一引导路径用于引导用户在拍摄过程中沿第一引导路径转动电子设备。
在该方案中,预览界面上显示有引导路径,该引导路径包括沿第一方向设置且相互平行的至少两条子路径,以引导用户在拍摄过程中沿该引导路径转动电子设备。这样,在全景图像的拍摄过程中,电子设备沿着某条沿第一方向设置的子路径采集图像并进行图像拼接时,可以扩展全景图像在第一方向的视场角;当电子设备沿着多条沿第一方向设置的子路径采集图像并进行图像拼接时,可以在扩展全景图像在第一方向的视场角的同时,还可以扩展全景图像在与第一方向垂直的第二方向上的视场角。
在一种可能的设计中,沿第一方向设置的不同子路径,在第一方向上对应的坐标范围存在重叠。
也就是说,沿第一方向设置且相互平行的不同子路径不是完全错开的。
在另一种可能的设计中,沿第一方向设置的不同子路径,在第一方向上对应的坐标范围相同。
也就是说,沿第一方向设置的不同子路径的两端分别对齐,且不同子路径具有相同的长度。
在另一种可能的设计中,预览界面上还包括拼接预览窗口,用于显示电子设备采集到的图像的缩略图。并且,该拼接预览窗口位于第一引导路径的始端。这样,在一些情况下,拼接预览窗口可能会遮挡会占用一部分引导路径。
在另一种可能的设计中,第一引导路径还包括沿第二方向设置的至少一条子路径,至少一条子路径用于连接沿第一方向设置的至少两条子路径,第二方向与第一方向垂直。
这样,整个引导路径为连续的完整路径。沿第二方向设置的子路径可以引导用户沿第一方向设置的不同子路径拍摄时的先后顺序。
在另一种可能的设计中,该方法还包括:电子设备检测到拍摄操作后,在拍摄界面上显示第二引导信息,第二引导信息包括拼接预览窗口、第二引导路径和偏离指示标记。偏离指示标记用于表示电子设备采集的图像的中心线的位置,偏离指示标记在拍摄过程中沿着第二引导路径移动。第二引导路径包括第一引导路径上偏离指示标记未经过的部分。电子设备在拼接预览窗口内显示偏离指示标记沿第一方向的子路径移动时,电子设备采集的图像拼接获得的目标图像;电子设备在偏离指示标记到达第二引导路径的末端后停止拍摄,电子设备拼接获得的目标图像即为全景图像。
也就是说,在拍摄过程中,电子设备可以沿着引导路径转动,并将沿第一方向的子路径转动时采集的图像进行拼接,从而生成全景图像。并且,为了更好地引导用户转动电子设备,拍摄界面上仅显示偏离指示箭头未经过的未完成拍摄部分的引导路径。
在另一种可能的设计中,当偏离指示标记沿着第二引导路径中的任一子路径移动时,第二引导信息还包括位于该任一子路径两侧且与该任一子路径平行的偏离范围指示线。该方法还包括:若偏离指示标记超出偏离范围指示线所指示的范围,则电子设备停止拍摄。
其中,偏离范围指示线用于表示电子设备采集的图像的中心线可偏离引导路径的最大范围。若偏离指示标记超出偏离范围指示线指示的范围,则电子设备采集的图像的中心超出了可偏离的最大范围,此时该图像可能并不能包括拼接时需要的裁剪范围内的图像,从而无法进行图像拼接,因而电子设备可以停止全景图像的拍摄过程。
在另一种可能的设计中,第一引导路径包括沿第一方向设置且相互平行的第一子路径和第三子路径,且第一子路径为起始子路径。第一引导路径还包括沿第二方向设置的第二子路径,第二子路径用于连接第一子路径和第三子路径。在拍摄过程中,偏离指示标记依次沿着第一子路径、第二子路径和第三子路径移动。
在该方案中,引导路径包括沿第一方向设置的两条子路径,以及沿第二方向设置的一条子路径。
在另一种可能的设计中,第一引导路径还包括沿第一方向设置且与第一子路径平行的第五子路径,第三子路径和第五子路径位于第一子路径的两侧。第一引导路径还包括沿第二方向设置且与第二子路径平行的第四子路径,第四子路径用于连接第三子路径和第五子路径。在拍摄过程中,偏离指示标记依次沿着第一子路径、第二子路径、第三子路径、第四子路径以及第五子路径移动。
在该方案中,引导路径包括沿第一方向设置的三条子路径,以及沿第二方向设置的两条子路径。
在另一种可能的设计中,在拍摄过程中,当偏离指示标记沿第一子路径移动时,第二引导路径包括第一子路径上偏离指示标记未经过的部分以及第二子路径至第五子路径,且第一子路径两侧显示有偏离范围指示线;拼接预览窗口内显示偏离指示标记沿着第一子路径移动时,电子设备采集的图像拼接获得的目标图像。当偏离指示标记沿第二子路径移动时,第二引导路径包括第二子路径上偏离指示标记未经过的部分以及第三子路径至第五子路径,且第二子路径两侧显示有偏离范围指示线;拼接预览窗口内显示的目标图像为偏离指示标记移动到第一子路径的末端后,电子设备采集的图像拼接获得的第一路径对应的拼接结果。当偏离指示标记沿第三子路径移动时,第二引导路径包括第三子路径上偏离指示标记未经过的部分以及第四子路径和第五子路径,且第三子路径两侧显示有偏离范围指示线;拼接预览窗口内显示的目标图像为偏离指示标记沿着第二子路径移动时,电子设备采集的图像向第一子路径对应的拼接结果拼接获得的图像。
也就是说,在拍摄界面上,电子设备显示未完成拍摄的引导路径,以及当前电子设备正在沿着其移动的子路径的偏离范围指示线。并且,预览拼接窗口中的目标图像为电子设备沿着第一方向的子路径拼接生成的图像,而并不是电子设备沿所有子路径拼接生成的图像。
在另一种可能的设计中,当偏离指示标记沿第一子路径移动时,电子设备在拼接预览窗口内显示偏离指示标记沿着第一方向的子路径移动时,电子设备采集的图像拼接获得的目标图像,包括:电子设备将第一子路径的第i帧图像Ii映射到圆柱面上得到图像i为大于1的整数。电子设备提取和的特征点FI,i和FI,i-1,为第一子路径的第i-1帧图像Ii-1映射到圆柱面后得到的图像。电子设备计算FI,i和FI,i-1的匹配结果。电子设备根据FI,i和FI,i-1的匹配结果,将向进行映射。电子设备将映射后的处于预设的第一裁剪范围内的部分,与第一子路径的拼接图像RI(i-1)拼接,从而获得第一子路径的拼接图像RIi。其中,第一裁剪范围包括第一子路径的偏离范围指示线对应的裁剪线以及电子设备预设的左边界线和右边界线限定的范围。
在该方案中,当偏离指示标记沿第一子路径移动时,电子设备沿第一子路径转动,电子设备对转动过程中采集到的相邻两帧图像进行圆柱面映射后提取特征点,并根据特征点计算匹配结果,根据匹配结果计算单应性矩阵,从而根据单应性矩阵将后一帧图像映射到前一帧图像上,并对映射后的后一帧图像进行裁剪,从而与之前的拼接结果拼接,得到新的拼接结果。
并且,电子设备在不同姿态下拍摄的不同角度的图像进行圆柱面映射,可以使得不同角度拍摄的图像上同一对象映射后的尺寸和成像特征相匹配,而后再进行配准和拼接以生成全景图像,以便符合全景图各部分图像尺寸基本一致的视觉效果。
在另一种可能的设计中,当偏离指示标记沿第一子路径移动时,该方法还包括:电子设备从沿着第一方向的子路径转动时采集的图像帧中获取多个关键帧。
这样,当偏离指示标记沿第三子路径移动时,电子设备可以根据关键帧,在拼接预览窗口内显示偏离指示标记沿着第三子路径移动时电子设备采集的图像拼接获得的目标图像。当偏离指示标记沿第五子路径移动时,电子设备可以根据关键帧,在拼接预览窗口内显示偏离指示标记沿着第五子路径移动时电子设备采集的图像拼接获得的目标图像。
在另一种可能的设计中,当偏离指示标记沿第三子路径移动时,电子设备在拼接预览窗口内显示偏离指示标记沿着第一方向的子路径移动时电子设备采集的图像拼接获得的目标图像,包括:电子设备从多个关键帧中获取与第三子路径的第一帧图像A1匹配的目标关键帧Gf1。电子设备将Gf1映射到圆柱面上得到图像电子设备将A1映射到圆柱面上得到图像电子设备提取和的特征点FA,1和FA,f1。电子设备计算FA,1和FA,f1的匹配结果。电子设备根据FA,1和FA,f1的匹配结果,将向进行映射。电子设备将映射后的处于预设的第二裁剪范围内的部分,与第一子路径的对应的拼接结果进行拼接,获得第二子路径的拼接图像RA1。其中,第二裁剪范围包括第三子路径的偏离范围指示线对应的裁剪线以及电子设备预设的左边界线和右边界线限定的范围。
在该方案中,当偏离指示标记沿第三子路径移动时,电子设备沿第三子路径转动,电子设备确定转动过程中采集到的第一帧图像对应的目标关键帧,并对第一帧图像和目标关键帧进行圆柱面映射后提取特征点,并根据特征点计算匹配结果,根据匹配结果计算单应性矩阵,从而根据单应性矩阵将第一帧图像映射到目标关键帧图像上,并对映射后的第一帧图像进行裁剪,从而与第一子路径对应的拼接结果进行拼接,得到新的拼接结果。
并且,电子设备将第三子路径的图像与第一子路径的图像中的关键帧进行配准,可以及时修正第三子路径的图像拼接时与第一子路径的图像的错位误差,使得第三子路径的图像与第一子路径的拼接结果进行精确配准,从而实现全局的配准,第三子路径拼接结果和第一子路径拼接结果可以形成一个平滑、自然过渡的整体图像。
在另一种可能的设计中,在xyz坐标系中,电子设备摄像头的镜头位于xyz三维坐标系的xy平面;关键帧对应的绕y轴的旋转角的间隔大于或者等于预设值Δβ;其中,在多个关键帧中,目标关键帧Gf1对应的绕y轴的旋转角与A1对应的绕y轴的旋转角的差值最小。
这样,不同关键帧之间可以有部分重叠,且基本均匀地分布在第一子路径上。目标关键帧与第三子路径的图像在拼接时的图像错位误差最小,两者映射到圆柱面后的图像更容易进行配准。
在另一种可能的设计中,当偏离指示标记沿第三子路径移动时,电子设备在拼接预览窗口内显示偏离指示标记沿着第一方向的子路径移动时电子设备采集的图像拼接获得的目标图像,还包括:电子设备从多个关键帧中获取与第三子路径的第i帧图像Ai匹配的第i目标关键帧Gfi。电子设备将Gfi映射到圆柱面上得到图像电子设备将Ai映射到圆柱面上得到图像电子设备提取和的特征点FA,i、FA,i-1和FA,fi,为第二子路径的第i-1帧图像Ai-1映射到圆柱面后得到的图像。电子设备计算FA,i,FA,i-1和FA,fi的匹配结果。电子设备根据FA,i,FA,i-1和FA,fi的匹配结果,将向和进行映射。电子设备将映射后的处于预设的第二裁剪范围内的部分,与第一子路径对应的拼接结果和第二子路径的拼接图像RA(i-1)进行拼接,获得第二子路径的拼接图像RAi。
在该方案中,当电子设备沿第三子路径转动时,对于第一帧图像以外的其他图像,电子设备可以根据上一帧图像以及确定的目标关键帧进行配准、映射和拼接。
在另一种可能的设计中,当偏离指示标记沿第五子路径移动时,电子设备在拼接预览窗口内显示偏离指示标记沿着第一方向的子路径移动时电子设备采集的图像拼接获得的目标图像,包括:电子设备根据多个关键帧,将沿着第五子路径转动时采集的图像与第一子路径对应的拼接结果进行拼接。
可以理解的是,电子设备根据多个关键帧,将沿着第五子路径转动时采集的图像与第一子路径对应的拼接结果进行拼接时,第一子路径对应的拼接结果可能已经与第三子路径的拼接结果进行了拼接。也就是说,电子设备将沿着第五子路径转动时采集的图像,与第一子路径的拼接结果和第三子路径的拼接结果进行拼接,从而形成一个视场角较大的拼接图像。
在另一种可能的设计中,在xyz坐标系中,电子设备摄像头的镜头位于xyz三维坐标系的xy平面。电子设备预设有左边界线、左基线、左裁剪线、右裁剪线、右基线和右边界线;左基线与第四子路径对应,左基线对应的绕y轴的旋转角为0,右基线与第二子路径对应,右基线对应的绕y轴的旋转角为βr,左裁剪线对应的绕y轴的旋转角为β2,右裁剪线对应的绕y轴的旋转角为β3,左边界线对应的绕y轴的旋转角为β1,右边界线对应的绕y轴的旋转角为β4。电子设备还预设有上基线、中基线、下基线,以及第一裁剪线、第二裁剪线、第三裁剪线和第四裁剪线;其中,上基线、中基线和下基线分别与第三子路径、第一子路径和第五子路径对应,第一裁剪线和第二裁剪线与第三子路径的偏离范围指示线对应,第二裁剪线和第三裁剪线与第一子路径的偏离范围指示线对应,第三裁剪线和第四裁剪线与第五子路径的偏离范围指示线对应;第一裁剪线、上基线、第二裁剪线、中间线、第三裁剪线、下基线和第四裁剪线对应的绕x轴的旋转角分别为α1,αt,α2,0,α3,αb,α4。该方法还包括:当偏离指示标记沿着第一子路径移动时,若电子设备绕x轴的旋转角α>α1或α<α2,则电子设备停止拍摄。当电子设备绕y轴的旋转角β>βr时,偏离指示标记由沿着第一子路径移动切换为沿着第二子路径移动;若电子设备绕y轴的旋转角β>β4或β<β3,则电子设备停止拍摄。当电子设备绕x轴的旋转角α>αt时,偏离指示标记由沿着第二子路径移动切换为沿着第三子路径移动;当电子设备绕x轴的旋转角α>α1或α<α2时,电子设备停止拍摄。当电子设备绕y轴的旋转角β<0时,偏离指示标记由沿着第三子路径移动切换为沿者第四子路径移动;当电子设备绕y轴的旋转角β>β2或β<β1时,电子设备停止拍摄。当电子设备绕x轴的旋转角α<αb时,偏离指示标记由沿着第四子路径移动切换为沿着第五子路径移动;当电子设备绕x轴的旋转角α>α3或α<α4时,电子设备停止拍摄。当电子设备绕y轴的旋转角β>βr时,电子设备停止拍摄。
也就是说,电子设备可以根据绕x轴或绕y轴的旋转角的大小,确定是否切换沿着其转动的子路径,以及确定电子设备采集的图像的中心线是否超出裁剪范围等。
另一方面,本申请实施例提供了一种拍摄装置,该装置包含在电子设备中。该装置具有实现上述方面及可能的设计中任一方法中电子设备行为的功能,使得电子设备执行上述方面任一项可能的设计中电子设备执行的全景拍摄方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,该装置可以包括处理单元、显示单元和检测单元等。
又一方面,本申请实施例提供了一种电子设备,包括:摄像头,用于采集图像;屏幕,用于显示界面;一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行上述方面任一项可能的设计中电子设备执行的全景拍摄方法。
又一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行上述方面任一项可能的设计中电子设备执行的全景拍摄方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述方面任一项可能的设计中的全景拍摄方法。
又一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方面任一项可能的设计中电子设备执行的全景拍摄方法。
另一方面,本申请实施例提供了一种芯片***,该芯片***应用于电子设备。该芯片***包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,使得电子设备执行上述方面任一项可能的设计中的全景拍摄方法。
上述其他方面对应的有益效果,可以参见关于方法方面的有益效果的描述,此处不予赘述。
附图说明
图1为现有技术中的一种全景拍摄的预览界面示意图;
图2为本申请实施例提供的一种电子设备的硬件结构示意图;
图3为本申请实施例提供的一种全景拍摄的流程图;
图4A为本申请实施例提供的一组界面示意图;
图4B为本申请实施例提供的一组引导路径示意图;
图5为本申请实施例提供的一组引导信息示意图;
图6为本申请实施例提供的另一组界面示意图;
图7为本申请实施例提供的一组规则线的示意图;
图8为本申请实施例提供的一种坐标系的示意图,以及图像帧与陀螺仪数据的数量关系示意图;
图9为本申请实施例提供的一组圆柱面映射效果示意图;
图10为本申请实施例提供的一种拼接效果示意图;
图11为本申请实施例提供的一种特征点的对照示意图;
图12为本申请实施例提供的一组拼接效果示意图;
图13为本申请实施例提供的一组关键帧的示意图;
图14A为本申请实施例提供的另一组界面示意图;
图14B为本申请实施例提供的一组拍摄界面上的引导路径的示意图;
图15为本申请实施例提供的另一种界面示意图;
图16A为本申请实施例提供的另一种界面示意图;
图16B为本申请实施例提供的另一种拼接效果示意图;
图16C为本申请实施例提供的一组上基线图像和目标关键帧的对比示意图;
图16D为本申请实施例提供的另一种拼接效果示意图;
图16E为本申请实施例提供的另一种拼接效果示意图;
图17为本申请实施例提供的另一种拼接效果示意图;
图18为本申请实施例提供的另一组拼接效果示意图;
图19为本申请实施例提供的另一组界面示意图;
图20为本申请实施例提供的另一组引导路径示意图;
图21为本申请实施例提供的另一种界面示意图;
图22A为本申请实施例提供的另一种界面示意图;
图22B为本申请实施例提供的另一组引导路径示意图;
图22C为本申请实施例提供的另一种拼接效果示意图;
图23为本申请实施例提供的一组引导路径与拼接获得的全景图像的示意图;
图24为本申请实施例提供的另一组引导路径与拼接获得的全景图像的示意图;
图25为本申请实施例提供的另一组引导路径与拼接获得的全景图像的示意图;
图26为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供了一种全景拍摄方法,能够将不同角度采集的图像,在相互垂直的两个方向上分别进行拼接以生成全景图像,从而可以在两个方向上扩展拼接合成的图像的视场角,获得两个方向上均能够覆盖更大视角范围的全景图像,提高用户拍摄体验。
本申请实施例提供的全景拍摄方法可以应用于电子设备。例如,该电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等设备,也可以是专业的相机等设备,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图2示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。例如,显示屏194可以显示全景拍摄模式下的预览界面和拍摄界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emittingdiode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
其中,摄像头193可以包括前置摄像头和/或后置摄像头。摄像头193还可以包括多种类型。例如,摄像头193可以包括视场角从小到大变化的长焦摄像头、广角摄像头和超广角摄像头等。在本申请实施例中,在全景拍摄模式下,电子设备100可以采用视场角较大的摄像头(例如超广角摄像头或广角摄像头)采集不同角度的多帧图像,以便对采集到的具有较大视角范围的多帧图像进行裁剪后,拼接成具有更大视角范围的全景图像。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
在本申请的实施例中,处理器110通过运行存储在内部存储器121的指令,将摄像头193采集的不同角度采集的图像在相互垂直的两个方向上分别进行拼接以生成全景图像,从而可以在两个方向上扩展全景图像的视场角。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
在本申请的实施例中,陀螺仪传感器180B可以用于计算全景拍摄过程中,手机绕x轴的旋转角α和绕y轴的旋转角β。旋转角α和旋转角β可以用于确定全景拍摄过程的拍摄阶段,确定用于指示图像帧中心对应的偏离指示标记的位置,以及确定当前图像帧的偏离范围是否超出最大偏离范围等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作,例如用于指示拍摄全景图像的触摸操作等。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在本申请的实施例中,在全景拍摄模式下,摄像头193可以采集不同角度的多帧图像。显示屏194可以显示全景拍摄模式下的预览界面和拍摄界面。处理器110通过运行存储在内部存储器121的指令,将摄像头193采集的不同角度采集的图像在相互垂直的两个方向上分别进行拼接以生成全景图像,从而可以在两个方向上扩展全景图像的视场角。陀螺仪传感器180B可以用于计算全景拍摄过程中,手机绕x轴的旋转角α和绕y轴的旋转角β。旋转角α和旋转角β可以用于确定全景拍摄过程的拍摄阶段,确定用于指示图像帧中心对应的偏离指示标记的位置,以及确定当前图像帧的偏离范围是否超出最大偏离范围等。
以下将以电子设备为手机,手机的屏幕为触摸屏为例,对本申请实施例提供的全景拍摄方法进行阐述。参见图3,该方法可以包括:
301、手机进入全景拍摄模式后,在预览界面上显示引导路径,该引导路径包括沿第一方向设置的至少两条平行的子路径。
例如,手机检测到用户点击图4A中的(a)所示的相机图标401的操作后,启动相机应用,并进入如图4A中的(b)所示的拍照模式。示例性的,手机检测到用户点击图4A中的(b)所示的全景拍摄控件402的操作后,进入全景拍摄模式,显示如图4A中的(c)所示的预览界面。再示例性的,手机检测到用户点击图4A中的(b)所示的控件403的操作后,显示如图4A中的(d)所示的界面;手机检测到用户点击控件404的操作后,进入全景拍摄模式,并显示如图4A中的(c)所示的预览界面。
需要说明的是,手机还可以响应于用户的其他触摸操作、语音指令或快捷手势等操作进入全景拍摄模式,本申请实施例对触发手机进入全景拍摄模式的操作不作限定。
其中,全景拍摄模式下的预览界面包括全景拍摄的引导信息。该引导信息包括引导路径。该引导路径用于指引用户在拍摄过程中沿该引导路径转动(和/或移动)手机,以使得手机采集的图像的中心线沿着引导路径移动从而完成全景拍摄。该引导路径包括沿第一方向设置且相互平行的至少两条子路径。手机可以沿着第一方向的子路径采集不同角度的图像,并分别沿着每条子路径进行拼接,从而生成全景图像。当手机沿着某条第一方向的子路径拼接图像时,可以扩展全景图像在第一方向上的视场角;当第一方向的子路径包括多条时,在扩展第一方向的视场角的同时,手机还可以扩展全景图像在与第一方向垂直的第二方向上的视场角。
在本申请的实施例中,沿第一方向设置的不同子路径用于引导用户沿第一方向来回多次拍摄,以扩展全景图像在与第一方向垂直的第二方向上的视场角。该种引导可以是精准的引导,也可以是大概趋势的引导。
例如,沿第一方向设置的不同子路径,在第一方向上对应的坐标范围相同。沿第一方向设置的不同子路径的两端分别对齐,且不同子路径具有相同的长度,从而通过各子路径对用户拍摄方向给予精确的引导。示例性的,参见图4B中的(a),引导路径包括沿第一方向设置的中间子路径41、上方子路径42和下方子路径43,且中间子路径41、上方子路径42和下方子路径43在第一方向上对应的坐标范围相同。
再例如,引导路径沿第一方向设置的不同子路径,在第一方向上对应的坐标范围之间存在重叠,沿所述第一方向设置且相互平行的不同子路径不是完全错开的。不同子路径的两端并未对齐,且不同子路径的也并不等长,从而通过引导路径对用户拍摄方向给予大概趋势的引导。示例性的,参见图4B中的(b),引导路径包括沿第一方向设置的中间子路径41、上方子路径42和下方子路径43,且中间子路径41、上方子路径42和下方子路径43在第一方向上对应的坐标范围之间存在部分重叠。
并且,如图4B中的(a)所示,沿第一方向设置的子路径上可以设置有方向指示标识(例如子路径上的箭头),以引导手机沿该子路径转动时的转动方向。当然,如图4B中的(b)所示,沿第一方向设置的子路径上也可以不设置方向指示标识,用户沿该子路径转动完成即可,不限定用户的具体转动方向。
此外,手机可以通过显示信息或语音播报等方式提示用户沿第一方向的不同子路径拍摄的先后关系。比如,手机可以通过文字信息提示用户,请在拍摄过程中先沿中间子路径转动拍摄,然后再分别沿上方子路径和下方子路径转动拍摄。再比如,手机可以通过指示箭头或其他指示方式,来提示用户沿不同子路径拍摄的先后关系。示例性的,参见图4B中的(c),箭头44用于指示用户先沿中间子路径转动拍摄,然后再沿上方子路径转动拍摄;箭头45用于指示用户在沿上方子路径转动拍摄之后,再沿下方子路径转动拍摄。
在一些实施例中,引导路径还可以包括沿第二方向设置的至少一条子路径。沿第二方向设置的子路径用于提示用户沿第一方向的不同子路径拍摄的先后关系。在一种可能的实现方式中,如图4B中的(d)所示,该引导路径还包括右方子路径46和左方子路径47,右方子路径46用于指示用户先沿中间子路径转动拍摄,然后再沿上方子路径转动拍摄;左方子路径47用于指示用户在沿上方子路径转动拍摄之后,再沿下方子路径转动拍摄。
在另一种可能的实现中,第二方向的子路径用于连接第一方向的子路径,整个引导路径为连续的路径。当沿第二方向设置的子路径包括多条时,该多条子路径相互平行。示例性的,该引导路径可以参见图4A中的(c)所示的路径405。
可以理解的是,手机还可以通过其他多种方式提示用户沿第一方向的不同子路径拍摄的先后关系,本申请实施例不予限定。
其中,第一方向和第二方向可以是与手机的相邻两条侧边分别平行的两个方向,且第二方向与第一方向垂直。
当用户握持手机进行全景拍摄时,手机的一条侧边通常与水平方向平行(或手机的一条侧边与水平方向的夹角小于或者等于预设值,即手机的一条侧边与水平方向基本平行),与该侧边相邻的另一条侧边通常与竖直方向平行(或手机的另一条侧边与竖直方向的夹角小于或者等于预设值,即手机的另一条侧边与竖直方向基本平行)。也就是说,第一方向和第二方向可以为水平方向和竖直方向。
以下针对第一方向和第二方向的不同方向情况分别进行说明:
情况1、第一方向为水平方向(或称横向),第二方向为竖直方向(或称纵向)。
当第一方向为水平方向,第二方向为竖直方向时,引导路径包括水平方向和竖直方向的子路径,且水平方向的子路径可以包括至少两条,竖直方向的子路径用于连接水平方向的子路径。示例性的,参见图5中的(a),引导路径在水平方向上包括中间子路径501、上方子路径502和下方子路径503这三条子路径,竖直方向上包括左方子路径504和右方子路径505这两条子路径。预览界面上的引导路径用于提示用户整个拍摄过程中需要拍摄完成的完整路径。
在全景拍摄模式下,预览界面上的引导信息还可以包括偏离指示标记,用于指示摄像头当前实时采集到的图像在第一方向的中心线(即水平中心线)的位置。在一些实施例中,偏离指示箭头还可以指向该偏离指示箭头的待移动方向,即指向起始子路径的末端方向,也就是指向手机的待转动方向。在预览界面上,偏离指示标记位于起始子路径的始端位置。示例性的,在图5中的(b)所示的情况下,偏离指示标记可以为偏离指示箭头506,起始子路径为中间子路径501,偏离指示箭头506位于预览界面上中间子路径501的左端,且指向中间子路径501的右端。可以理解的是,偏离指示标记也可以为偏离指示线或其他形式,本申请实施例不予限定。以下将以偏离指示标记为偏离指示箭头为例进行说明。
在一些实施例中,预览界面上的引导信息还可以包括子路径的偏离范围指示线。由于用户握持手机时容易发生抖动,因而手机采集的图像的水平中心线的位置通常也会发生变化,偏离指示箭头的位置也会发生变化。偏离范围指示线位于子路径的两侧,且与子路径平行,用于表示偏离指示箭头偏离子路径的最大允许范围。在预览界面上,手机可以仅显示起始子路径的偏离范围指示线。示例性的,在图5中的(b)所示的情况下,起始子路径为中间子路径,偏离范围指示线501a-501b可以为位于中间子路径501的两侧,且与中间子路径501平行的虚线。
在一些实施例中,在预览状态下,手机可以通过显示信息或语音播报等方式提示用户,偏离指示箭头尽量与引导路径重合,且不要超出偏离范围指示线。示例性的,参见图4A中的(c),手机可以在预览界面上通过文字信息提示用户:开始拍摄后请慢慢转动手机,以使得箭头沿引导路径移动且不要超出虚线范围。
在一些实施例中,参见图5中的(b),预览界面上还可以包括拼接预览窗口507。在预览界面上,拼接预览窗口位于引导路径的始端,偏离指示箭头可以位于拼接预览窗口的旁边,且位于起始子路径的末端所在的一侧。例如,如图5中的(b)所示,拼接预览窗口位于起始子路径501的始端,且偏离指示箭头位于拼接预览窗口的右侧。如图4A中的(c)所示,在预览状态下,拼接预览窗口用于显示预览界面上当前显示的预览图像的缩略图(或称预览图像的预览图)。
在一些实施例中,拼接预览窗口会占用或遮挡一部分引导路径。由图5中的(b)可知,子路径501、子路径502和子路径503的长度相等,但由于拼接预览窗口会遮挡一部分引导路径,因而如图5中的(b)所示,与子路径502和子路径503相比子路径501的左端有缩进,且这三条子路径的右端对齐。在另一些实现方案中,由于拼接预览窗口会占用一定的面积,因而子路径501的长度本身就小于子路径502和子路径503,且与子路径502和子路径503相比子路径501的左端有缩进,子路径502和子路径503的左端对齐,且这三条子路径的右端也对齐。
302、手机检测到用户的拍摄操作后,在拍摄界面上显示根据引导路径采集的图像拼接获得的图像。
示例性的,手机检测到用户点击如图4A中的(c)所示的拍摄控件406的操作后,开始拍摄全景图像并显示拍摄界面。手机在拍摄界面上实时显示摄像头采集到的图像。可以理解的是,手机还可以响应于用户的语音指令或快捷手势等操作开始进行全景图像拍摄,本申请实施例对触发手机开始全景图像拍摄的操作不予限定。
手机在拍摄界面上显示引导信息,该引导信息包括引导路径、偏离指示箭头和偏离范围指示线。示例性的,手机检测到拍摄操作后,显示的拍摄界面可以参见图6中的(a)。其中,偏离指示箭头用于提示用户摄像头当前采集的图像中心线的位置,以及该中心线的位置与目标子路径的偏离程度。在一些实施例中,偏离指示箭头还可以指向该偏离指示箭头的待移动方向,即指向目标子路径的末端方向,也就是指向手机的待转动方向。其中,目标子路径为偏离指示箭头当前沿着其移动的子路径。在刚开始拍摄后,目标子路径为起始子路径(例如上述中间子路径),随着拍摄过程的进行,目标子路径会发生切换。其中,当目标子路径为水平子路径(即沿水平方向设置的子路径)时,偏离指示箭头沿水平子路径移动,偏离指示箭头用于表示手机采集的图像的水平中心线的位置,手机采集的不同图像的水平中心线沿水平子路径移动。当目标子路径为竖直子路径(即沿竖直方向设置的子路径)时,偏离指示箭头沿竖直子路径移动,偏离指示箭头用于表示手机采集的图像的竖直中心线的位置,手机采集的不同图像的竖直中心线沿竖直子路径移动。
在拍摄过程中,手机可以通过显示信息或语音播报等方式提示用户,沿着引导路径慢慢转动手机,偏离指示箭头尽量与引导路径重合,且不要超出偏离范围指示线。示例性的,参见图6中的(a),手机可以通过文字信息提示用户:请慢慢转动手机,以使得箭头沿引导路径移动且不要超出虚线范围。当偏离指示箭头偏离目标子路径时,手机可以提示用户移动手机以将偏离指示箭头与目标子路径重合。示例性的,参见图6中的(b),当偏离指示箭头位于中间子路径的下方时,手机可以提示用户:请上移,使箭头与引导路径重合。
在刚进入拍摄过程后,拍摄界面上显示的引导路径为完整的引导路径。而后,手机向右转动以使得偏离指示箭头沿着水平子路径向右移动。在拍摄过程中,手机不断转动从而采集不同角度的图像,以使得偏离指示箭头依次沿着中间子路径向右移动,沿着右方子路径向上移动,沿着上方子路径向左移动,沿着左方子路径向下移动,沿着下方子路径向右移动,直至完成整个引导路径的拍摄。在拍摄过程中,偏离指示箭头当前沿着其移动的子路径为目标子路径。例如,当偏离指示箭头沿着中间子路径移动时,目标子路径为中间子路径;当偏离指示箭头沿着右边子路径移动时,目标子路径为右方子路径。
在一些实施例中,为了更好的引导用户进行拍摄,在不同的拍摄阶段,拍摄界面上显示的引导路径会随着用户的拍摄过程而变化,拍摄界面上可以仅显示未完成拍摄的引导路径,即预览界面显示的引导路径上偏离指示箭头未经过的部分。其中,由于在拍摄过程中,偏离指示箭头在沿引导路径移动时,还可以在偏离范围指示线内波动。因而,可以理解的是,偏离指示箭头经过的引导路径,包括但不限于偏离指示箭头与引导路径重合时经过的部分,还包括偏离指示箭头未与引导路径重合且在偏离范围指示线范围内沿引导路径移动时经过的部分。在另一些实施例中,手机仅显示当前的目标子路径。在另一些实施例中,手机在拍摄界面上显示完整的引导路径,且已完成拍摄的引导路径和未完成拍摄的引导路径的显示方式不同。例如,未完成拍摄的引导路径为实线,已完成拍摄的引导路径为虚线。在另一些实施例中,手机在拍摄界面上显示完整的引导路径,直至完成拍摄。
此外,拍摄界面上还包括拼接预览窗口,用于显示拍摄过程中手机拼接获得的图像的缩略图(或称拼接图像的预览图)。在拍摄界面上,偏离指示箭头可以位于拼接预览窗口的旁边,且位于目标子路径的末端所在的一侧。在拍摄界面上,拼接预览窗口的大小、位置和形状等特征与已完成拍摄的引导路径相对应。例如,拍摄界面上的拼接预览窗口可以覆盖已完成拍摄的引导路径。在开始拍摄后,手机采集到图像1,手机在拍摄界面上显示图像1,并在拼接预览窗口中显示图像1。在拍摄过程中,手机沿着引导路径转动时,摄像头的拍摄角度和拍摄范围也发生变化,从而可以采集不同角度的图像,手机可以将不同角度的图像拼接后显示在拼接预览窗口内。手机在拼接预览窗口内显示的图像,具体可以为手机沿第一方向的水平子路径转动时对采集的图像拼接获得的目标图像,也即偏离指示标记沿着第一方向的水平子路径移动时手机对采集的图像拼接获得的目标图像。
在拍摄过程中,手机采集到的不同角度的图像可以根据预设的规则线进行裁剪和拼接。如图7所示,该规则线包括上基线、中基线和下基线,分别对应水平方向的上方子路径、中间子路径和下方子路径。该规则线还包括第1裁剪线、第2裁剪线、第3裁剪线和第4裁剪线。其中,第1裁剪线和第2裁剪线位于上基线的两侧,且分别与水平方向的上方子路径两侧的偏离范围指示线对应。第1裁剪线和第2裁剪线组成了上基线图像(即手机沿着上方子路径转动时采集的图像)的上、下裁剪范围,限定了手机沿上方子路径转动拍摄的过程中采集的图像的水平中心线的最大偏离范围。第2裁剪线和第3裁剪线位于中基线的两侧,且分别与水平方向上中间子路径两侧的偏离范围指示线对应。第2裁剪线和第3裁剪线组成了中基线图像(即手机沿着中间子路径转动时采集的图像)的上、下裁剪范围,限定了手机沿中间子路径转动拍摄的过程中采集的图像的水平中心线的最大偏离范围。第3裁剪线和第4裁剪线位于下基线的两侧,且分别与水平方向上下方子路径两侧的偏离范围指示线对应。第3裁剪线和第4裁剪线组成了下基线图像(即手机沿着下方子路径转动时采集的图像)的上、下裁剪范围,限定了手机沿下方子路径转动拍摄的过程中采集的图像的水平中心线的最大偏离范围。
此外,该规则线还包括左基线和右基线,分别对应竖直方向上的左方子路径和右方子路径。并且,该规则线还包括左边界、左裁剪线、右裁剪线和右边界。其中,左边界和左裁剪线位于左基线的两侧,且分别与竖直方向上左方子路径两侧的偏离范围指示线对应。左边界和左裁剪线限定了左基线图像(即手机沿着左方子路径转动时采集的图像)的竖直中心线的左、右最大偏离范围。并且,左边界还定义了拼接全景图像时的左侧边界,超出左边界的图像部分在拼接时可以直接裁掉。
右边界和右裁剪线位于右基线的两侧,且分别与竖直方向上右方子路径两侧的偏离范围指示线对应。右边界和右裁剪线限定了右基线图像(即手机沿着右方子路径转动时采集的图像)的竖直中心线的左、右最大偏离范围。并且,右边界还定义了拼接全景图像时的右侧边界,超出右边界的图像部分在拼接时可以直接裁掉。
其中,不同基线对应的偏离指示范围的大小可以相同也可以不同。需要说明的是,为便于示意,图7所示的各条规则线为平面上的直线,实际上各条规则线为圆柱面上的曲线。
在全景图像的拍摄过程中,手机采集图像时的姿态和图像采集时间可以用于标示偏离指示箭头的位置,用于切换目标子路径,以及用于确定图像的中心线是否超出裁剪范围等。示例性的,在图8中的(a)所示的一种三维坐标系中,三维坐标轴包括x轴、y轴和z轴。手机镜头所在的平面在xy平面上或与xy平面平行,z轴垂直于手机镜头所在的平面。手机镜头所在的平面还与手机屏幕所在的屏幕平行。在该三维坐标系中,手机采集图像时的姿态可以通过手机绕x轴、y轴和z轴的旋转角来表示。在手机沿水平子路径转动的过程中,手机绕y轴转动。在手机沿竖直子路径转动的过程中,手机绕x轴转动。
手机陀螺仪按照预设频率输出对应时刻手机的三轴旋转角速度ρα,ρβ,ργ。同时,手机给陀螺仪数据添加一个对应的时间戳t。此外,手机会在图像帧的生成时刻打上一个对应的时间戳T。一般地,参见图8中的(b),陀螺仪的采样频率远高于视频帧,所以相邻两帧图像之间可能包含多个陀螺仪数据。
其中,手机在相邻两帧图像的采集时刻之间绕x轴的旋转角α′可以通过式1得到:
在式1中,T0表示前一帧对应时刻,T1表示后一帧对应时刻,表示T0与T1之间第k个陀螺仪的旋转角速度,表示T0与T1之间第k-1个陀螺仪的旋转角速度,tk表示第k个陀螺仪数据对应的时刻,tk-1表示第k-1个陀螺仪数据对应的时刻,表示T0与T1之间第0个陀螺仪的旋转角速度,t0表示第0个陀螺仪数据对应的时刻,表示T0与T1之间第N个陀螺仪的旋转角速度,tN表示第N个陀螺仪数据对应的时刻。其中,T0与T1之间共有0-N个陀螺仪数据。
类似地,手机也可以得到手机在相邻两帧图像的采集时刻之间绕y轴的旋转角。通过将帧与帧之间手机的旋转角累加,可以得到任意一帧图像的采集时刻手机绕x轴的旋转角α和绕y轴的旋转角β(也称任意一帧图像对应的旋转角α和旋转角β)。
其中,中基线与开始拍摄后手机采集到的首帧图像的水平中心线对应,也就是α=0。首帧图像映射到圆柱面后的水平中心线与圆柱面上的中基线重合。上基线和下基线则相对于中基线绕x轴旋转了一定的角度,旋转角分别记为αt和αb。而水平裁剪线1-4绕x轴的旋转角也可以分别记为α1,α2,α3,α4。这些旋转角的数值可以用于调节拼接全景图像时在竖直方向的视场角的扩展范围,以及图像的水平中心线能够偏离基线的最大范围。
类似地,左基线与开始拍摄后手机采集到的首帧图像的竖直中心线对应,也就是β=0。右基线相对于左基线绕y轴旋转了一定的角度,记为βr。左边界、左裁剪线、右裁剪线和右边界绕y轴的旋转角可以分别记为β1,β2,β3,β4。其中,各条规则线与旋转角的对应关系可以参见图7。
手机可以通过采集每一帧图像时手机的旋转角α确定当前图像的水平中心线,从而在拍摄界面上画出与旋转角α对应的偏离指示箭头。手机可以根据旋转角α确定偏离指示箭头是否超出水平方向子路径的偏离范围指示线,手机还可以根据旋转角β确定偏离指示箭头是否超出竖直方向子路径的偏离范围指示线。手机还可以根据旋转角α和旋转角β确定是否切换目标子路径。并且,目标子路径不同,图像的拼接方式也不同。以下将以图4A中的(a)所示的引导路径为例进行说明。
(1)、目标子路径为中间子路径,拼接上基线图像
在开始拍摄后,手机首先沿着中间子路径向右转动,手机采集到的图像可以称为中基线图像,也可以称为中间子路径的图像,目标子路径为中间子路径,旋转角β由0开始不断变化。
手机采集到第一帧中基线图像(即中间子路径的第一帧图像)后,按照式2-4对第一帧图像进行圆柱面映射,得到圆柱面上的第一帧中基线图像’。
其中,α表示手机绕x轴的旋转角,f表示手机镜头的焦距参数,(cx,cy)是图像中心点的坐标,(x,y)和(x′,y′)分别表示映射前后图像中对应的像素点。示例性的,对于摄像头采集到的图像帧,当旋转角α=0,α>0和α<0时,对应的圆柱面映射结果分别可以参见图9中的(a)、(b)和(c)。其中,当α=0时,映射后图像上、下边界的尺度变化是对称的。当α>0时,手机向上旋转了一定的角度,映射后图像上边界的尺度变化大于下边界的尺度变化。当α<0时,手机向下旋转了一定的角度,映射后图像上边界的尺度变化小于下边界的尺度变化。
其中,由于中基线的位置是根据第一帧中基线图像的水平中心线定义的,因而第一帧中基线图像对应的旋转角α=0(即手机采集第一帧中基线图像时手机的旋转角α=0),第一帧中基线图像的映射结果相对于中基线水平对称。第一帧中基线图像的左边界即为整个全景图像的左边界,参见图10,第一帧中基线图像位于裁剪范围内的部分即为初始的中基线图像拼接结果RI1,即偏离指示箭头沿中间子路径移动时拼接获得的初始目标图像RI1。示例性的,参见图6中的(a),手机在拼接预览窗口内显示中基线图像拼接结果RI1。
可以理解的是,当手机在不同姿态下拍摄图像时,拍摄图像的角度不同,同一对象在不同角度拍摄的图像上的尺寸和成像特征也不同,因而无法直接将不同角度拍摄的图像进行配准和拼接,从而生成全景图像。在本申请实施例中,不同姿态下拍摄的不同角度的图像可以先进行圆柱面映射,使得不同角度拍摄的图像上同一对象映射后的尺寸和成像特征相匹配,从而可以进行配准和拼接以生成全景图像,因而可以符合全景图各部分图像尺寸基本一致的视觉效果。
而后,用户沿着中间子路径转动手机,手机采集到第i帧中基线图像(i为大于1的整数),记为Ii,手机根据式2-4对第i帧中基线图像进行圆柱面映射后得到第i帧中基线图像第i帧中基线图像Ii的前一帧图像为第i-1帧中基线图像,记为Ii-1。Ii-1的圆柱面映射结果记为如图11所示,手机根据预设算法提取和的特征点FI,i和FI,i-1然后计算FI,i和FI,i-1的匹配结果。该匹配结果用于表示FI,i和FI,i-1中相互匹配的特征点的对应关系。比如,该匹配结果可以是一个结合,包括多个匹配的特征点对。
手机根据该匹配结果进一步计算和的单应性矩阵H。参见图12中的(a),手机根据单应性矩阵H将向进行映射。手机将映射后的处于裁剪范围内的矩形部分(即图12中的(a)中横线填充的矩形部分)裁剪下来,拼接到中基线图像拼接结果RI(i-1)(即图12中的(a)中条纹填充的矩形部分)的右侧;从而形成中基线图像拼接结果RIi,即偏离指示箭头沿中间子路径移动时拼接获得的目标图像RIi。其中,中基线图像对应的裁剪范围为第2裁剪线、第3裁剪线、左边界线和右边界线限定的范围。示例性的,手机在拼接预览窗口内显示的中基线图像拼接结果RIi可以参见图12中的(b)。
而后,用户沿着中间子路径继续转动手机。手机重复上述采集、映射和拼接过程,直至β>βr。此时,手机沿着中间子路径采集的所有中基线图像帧都拼接完成,从而生成中基线图像拼接结果RI,即中间子路径对应的拼接结果RI。需要说明的是,对于β≤βr情况下的最后一帧中基线图像映射到圆柱面后的图像,右边界可以作为其右侧的裁剪线,超出右边界的部分可以被裁掉。
需要说明的是,在中基线图像的拼接过程中,手机可以根据预设算法,并结合中基线图像对应的旋转角α选取关键帧,使得这些关键帧之间有部分重叠,且基本均匀地分布在中基线上。这些关键帧可以使得上、下基线图像拼接结果与中基线图像拼接结果能够更好的匹配和融合。其中,相邻关键帧之间对应的绕y轴的旋转角的间隔Δβ,可以根据缓存大小或实际需求等因素灵活设置。示例性的,中基线图像中获取的关键帧的示意图可以参见图13。
其中,在偏离指示箭头沿中间子路径向右移动的过程中,旋转角β随着手机的转动而不断变化。在一些技术方案中,参见图12中的(b)所示,手机显示未完成拍摄的中间子路径、右方子路径、上方子路径、左方子路径和下方子路径。在另一些技术方案中,参见图14A中的(a),手机仅显示当前针对的中间子路径;参见图14A中的(b),在将要切换到右方子路径时再显示右方子路径。在另一些技术方案中,手机在拍摄界面上显示完整的拍摄路径,且已完成拍摄的引导路径为虚线,未完成拍摄的引导路径为实线。在另一些实施例中,手机仍显示完整的引导路径。
在拍摄过程中,当引导路径不包括第二方向的子路径时,手机可以通过第二方向的子路径提示用户沿第一方向的不同子路径拍摄的先后关系。在拍摄过程中,当引导路径不包括第二方向的子路径时,手机可以通过显示信息或语音播报等方式提示用户沿不同子路径拍摄的先后关系。以引导路径为图4B中的(a)所示的路径为例进行说明。示例性的,参见图14B中的(a),手机显示未完成拍摄的中间子路径(即中间子路径上偏离指示箭头未经过的部分)、上方子路径以及指向上方子路径的箭头,该箭头用于提示用户在沿着中间子路径拍摄完成后,沿着上方子路径继续拍摄。再示例性的,参见图14B中的(b),手机显示未完成拍摄的中间子路径、上方子路径、下方子路径以及指向上方子路径的箭头,该箭头用于提示用户在沿着中间子路径拍摄完成后,沿着上方子路径继续拍摄。再例如,手机显示未完成拍摄的中间子路径、上方子路径以及下方子路径,当偏离指示箭头到达中间子路径的末端时,手机高亮显示上方子路径,以提示用户接下来沿着上方子路径转动手机进行拍摄。
在拍摄界面上,中间子路径的两侧显示有偏离范围指示线,在沿中间子路径拍摄的过程中,即目标子路径为中间子路径时,若α3<α<α2,则偏离指示箭头位于中间子路径的最大偏离范围内;若α>α2,或α<α3,则偏离指示箭头超出中间子路径的最大偏离范围,手机停止拍摄。
其中,当偏离指示箭头超出中间子路径的最大偏离范围时,手机采集到的图像可能无法包括完整的裁剪范围,手机本次根据预设裁剪范围裁剪后保留的图像的尺寸小于裁剪范围,即小于摄像头采集的其他图像裁剪后保留的图像,因而本次保留的图像拼接到全景图像之后全景图像会留有空白部分从而导致拼接效果较差,因此手机可以停止拍摄过程。在一些实施例中,手机还可以在拍摄界面上或通过语音等方式提示用户:超出最大偏离范围,已自动停止拍摄。
(2)、目标子路径为右方子路径
当偏离指示箭头到达中间子路径的末端,手机的旋转角β>βr或β3<β<β4时,中间子路径上的图像已经拍摄完成,引导用户沿右方子路径向上转动手机,使得偏离指示箭头沿着右方子路径向上移动。在偏离指示箭头沿右方子路径向上移动的过程中,旋转角α随着手机的转动而不断变化。在一些技术方案中,参见图15,手机显示未完成拍摄的右方子路径1501、上方子路径、左方子路径和下方子路径。其中,右方子路径1501两侧的虚线表示偏离范围指示线,箭头1502表示偏离指示箭头。在另一些技术方案中,手机仅显示当前针对的右方子路径。在另一些技术方案中,手机在拍摄界面上显示完整的拍摄路径,且已完成拍摄的引导路径为虚线,未完成拍摄的引导路径为实线。在另一些实施例中,手机仍显示完整的引导路径。
其中,右方子路径的两侧显示有偏离范围指示线,在沿右方子路径拍摄的过程中,若旋转角β3<β<β4,则偏离指示箭头在右方子路径的最大偏离范围内,可以使得手机沿右方子路径拍摄的最后一帧图像即第一帧上基线图像在合适的范围内,从而进行裁剪和拼接;若旋转角β<β3或者β>β4,则偏离指示箭头超出右方子路径的最大偏离范围,则容易使得手机沿右方子路径拍摄的最后一帧图像即第一帧上基线图像超出裁剪范围,因而手机可以停止拍摄。例如,当β>β4时,手机还可以在拍摄界面上或通过语音等方式提示用户:超出右侧边界,已自动停止拍摄。
需要说明的是,在目标子路径为右方子路径的拍摄过程中,手机可以不进行图像拼接。
(3)、目标子路径为上方子路径,拼接上基线图像
当偏离指示箭头到达右方子路径的末端,手机的旋转角α>αt或α2<α<α1时,引导用户沿上方子路径向左转动手机,使得偏离指示箭头沿上方子路径向左移动。在手机沿着上方子路径转动的过程中,手机采集到的图像可以称为上基线图像,也可以称为上方子路径的图像,目标子路径为上方子路径。可以理解的是,手机沿上方子路径拍摄的第一帧上基线图像,也是沿右方子路径拍摄的最后一帧图像。在偏离指示箭头沿上方子路径向左移动的过程中,旋转角β随着手机的转动而不断变化。在一些技术方案中,参见图16A,手机显示未完成拍摄的上方子路径1601、左方子路径和下方子路径。其中,上方子路径1601两侧的虚线表示偏离范围指示线,箭头1602表示偏离指示箭头。在另一些技术方案中,手机仅显示当前针对的上方子路径。在另一些技术方案中,手机在拍摄界面上显示完整的拍摄路径,且已完成拍摄的引导路径为虚线,未完成拍摄的引导路径为实线。在另一些实施例中,手机仍显示完整的引导路径。
其中,上方子路径的两侧显示有偏离范围指示线,在沿上方子路径拍摄的过程中,若α2<α<α1,则偏离指示箭头位于上方子路径的最大偏离范围内;若α>α1,或α<α2,则偏离指示箭头超出上方子路径的最大偏离范围,手机停止拍摄。在一些实施例中,手机还可以在拍摄界面上或通过语音等方式提示用户:超出最大偏离范围,已自动停止拍摄。
手机对上基线图像进行拼接,具体包括圆柱面映射、特征提取、特征匹配和图像拼接等过程。其中,对于第一帧上基线图像A1,手机根据预设算法,从上述关键帧中确定一个旋转角β与第一帧上基线图像对应的旋转角β1最接近的目标关键帧作为参考帧Gf1,即Gf1为与A1匹配的关键帧,上述关键帧中,Gf1与A1对应的绕y轴的旋转角的差值最小。这样,Gf1与A1图像在拼接时的图像错位误差最小,两者映射到圆柱面后的图像更容易进行配准。而后,手机提取Gf1圆柱面映射后的图像的特征点FA,f1。手机根据上述式2-4将第一帧上基线图像A1映射到圆柱面上,得到第一帧上基线图像并获得第一帧上基线图像的特征点FA,f1。手机计算FA,1与FA,f1的匹配结果,从而根据该匹配结果计算单应性矩阵H。根据目标关键帧得到的H矩阵更为准确,能够与中基线图像中的关键帧进行更好的配准,从而可以与中基线拼接结果进行匹配。手机将向进行映射。参见图16B,手机将映射后的处于裁剪范围内的矩形部分裁剪下来,并拼接到中基线图像拼接结果RI的右上方,从而形成上基线图像拼接结果RA1(即横线填充部分),即偏离指示箭头沿上方子路径移动时拼接获得的目标图像RA1。其中,上基线图像对应的裁剪范围为第1裁剪线、第2裁剪线、左边界线和右边界线限定的范围。示例性的,手机在拍摄界面上显示的拼接到中基线图像拼接结果RI上方的上基线图像拼接结果RA1的示意图可以参见图16A。
对第i(为大于1的整数)帧上基线图像Ai,手机根据预设算法,从上述关键帧中确定一个旋转角β与Ai的旋转角βi最接近的目标关键帧作为参考帧Gfi。即,Gfi为与Ai匹配的关键帧。参见图16C,手机提取Gfi圆柱面映射后的图像的特征点FAfi;手机根据上述式2-4将Ai映射到圆柱面上,从而获得第i帧上基线图像的特征点FA,fi;手机还可以提取第i-1帧上基线图像Ai-1映射到圆柱面后得到的第i-1帧上基线图像的特征点FA,i-1。手机计算FA,i,FA,i-1,以及FA,fi的匹配结果,从而计算单应性矩阵H。这样得到的H矩阵更为准确,能够在与上一帧上基线图像配准的同时,还能和关键帧进行更好的配准。手机将向和进行映射。参见图16D,手机将映射后的处于裁剪范围内的矩形部分裁剪下来,并拼接到上基线图像拼接结果RA(i-1)的左侧,以及中基线图像拼接结果RI的上侧,从而形成上基线图像拼接结果RAi(即横线填充部分),即偏离指示箭头沿上方子路径移动时拼接获得的目标图像RAi。示例性的,参见图16E,手机在拼接预览窗口内显示拼接到中基线图像拼接结果RI上方的上基线图像拼接结果RAi。
而后,用户沿着上方子路径继续转动手机。手机重复上述采集、映射和拼接过程,直至β<0。此时,手机沿着中间子路径采集的所有上基线图像帧都拼接完成,从而生成上基线图像拼接结果RA,即上方子路径对应的拼接结果RA。需要说明的是,对于β≤0情况下的最后一帧上基线图像映射到圆柱面后的图像,左边界可以作为其左侧的裁剪线,超出左边界的部分可以被裁掉。
需要说明的是,若上基线图像不根据关键帧进行配置,则中基线图像的配准和上基线的配准是分别进行的,两个过程是分离的,上基线图像拼接结果和中基线图像拼接结果无法对应,两种基线图像拼接结果的拼接误差容易累计,从而使得两种基线图像拼接结果产生较大错位。在本申请实施例中,手机将上基线图像与中基线图像中的关键帧进行配准,可以及时修正上基线图像拼接时与中基线拼接结果的错位误差,使得上基线图像与中基线图像拼接结果进行精确配准,从而实现全局的配准,上基线图像拼接结果和中基线图像拼接结果可以形成一个平滑、自然过渡的整体图像。
(4)、目标子路径为左方子路径
当偏离指示箭头到达上方子路径的末端,手机的旋转角β<0或β1<β<β2时,上方子路径上的图像已经拍摄完成,引导用户沿左方子路径向下转动手机,使得偏离指示箭头沿着左方子路径向下移动。在偏离指示箭头沿左方子路径向下移动的过程中,旋转角α随着手机的转动而不断变化。在一些技术方案中,参见图17,手机显示未完成拍摄的左方子路径1701和下方子路径。其中,左方子路径1701两侧的虚线表示偏离范围指示线,箭头1702表示偏离指示箭头。在另一些技术方案中,手机仅显示当前针对的左方子路径。在另一些技术方案中,手机在拍摄界面上显示完整的拍摄路径,且已完成拍摄的引导路径为虚线,未完成拍摄的引导路径为实线。在另一些实施例中,手机仍显示完整的引导路径。
其中,左方子路径的两侧显示有偏离范围指示线,在沿左方子路径拍摄的过程中,若旋转角β1<β<β2,则偏离指示箭头在左方子路径的最大偏离范围内;若旋转角β<β1或者β>β2,则偏离指示箭头超出左方子路径的最大偏离范围,手机停止拍摄。
需要说明的是,在目标子路径为左方子路径的拍摄过程中,手机可以不进行图像拼接。
(5)、目标子路径为下方子路径,拼接下基线图像
当偏离指示箭头到达左方子路径的末端,手机的旋转角α<αb或α3<α<α4时,引导用户沿下方子路径向右转动手机,使得偏离指示箭头沿下方子路径向右移动。在手机沿着下方子路径转动的过程中,手机采集到的图像可以称为下基线图像,也可以称为下方子路径的图像,目标子路径为下方子路径。可以理解的是,手机沿下方子路径拍摄的第一帧下基线图像,也是沿左方子路径拍摄的最后一帧图像。在偏离指示箭头沿下方子路径向左移动的过程中,旋转角β随着手机的转动而不断变化。在一些技术方案中,参见图18中的(b),手机显示未完成拍摄的下方子路径1801。其中,下方子路径1801两侧的虚线表示偏离范围指示线,箭头1802表示偏离指示箭头。在另一些技术方案中,手机显示当前针对的完整的上方子路径。在另一些技术方案中,手机在拍摄界面上显示完整的拍摄路径,且已完成拍摄的引导路径为虚线,未完成拍摄的引导路径为实线。在另一些实施例中,手机仍显示完整的引导路径。
其中,下方子路径的两侧显示有偏离范围指示线,在沿下方子路径拍摄的过程中,若α3<α<α4,则偏离指示箭头位于下方子路径的最大偏离范围内;若α>α4,或α<α3,则偏离指示箭头超出下方子路径的最大偏离范围,手机停止拍摄。
手机对下基线图像进行拼接的方式与下基线图像的拼接方式相同。其中,对于第一帧下基线图像B1(也即手机沿着右方子路径转动时采集的最后一帧图像),手机根据预设算法,从上述关键帧中确定一个旋转角β与第一帧下基线图像对应的旋转角β1最接近的目标关键帧作为参考帧Cf1,并提取Cf1圆柱面映射后的图像的特征点FC,f1。手机根据上述式2-4将第一帧下基线图像B1映射到圆柱面上,得到第一帧下基线图像并获得第一帧下基线图像的特征点FB1。手机计算FB1与FCf1的匹配结果,从而根据该匹配结果计算单应性矩阵H。而后,手机根据矩阵H,将向进行映射。结合目标关键帧获得的H矩阵更为准确,能够使得下基线图像与关键帧进行更好的配准,从而能够与中基线拼接结果更换地配准。参见图18中的(a),手机将映射后的处于裁剪范围内的矩形部分裁剪下来,并拼接到中基线图像拼接结果RI的左下方,从而形成下基线图像拼接结果RB1,即偏离指示箭头沿下方子路径移动时拼接获得的目标图像RB1。其中,下基线图像对应的裁剪范围为第3裁剪线、第4裁剪线、左边界线和右边界线限定的范围。示例性的,手机在拍摄界面上显示拼接到中基线拼接结果RI下方的下基线图像拼接结果RB1的示意图可以参见图18中的(b)。需要说明的是,中基线拼接结果RI的上方还拼接有上基线拼接结果RA。
对第i(为大于1的整数)帧下基线图像Bi,手机根据预设算法,从上述关键帧中确定一个旋转角β与Ii的旋转角βi最接近的目标关键帧作为参考帧Cfi,并提取Cfi圆柱面映射后的图像的特征点Fc,fi。手机根据上述式2-4将Bi映射到圆柱面上,从而获得第i帧下基线图像的特征点FB,i。手机计算FB,i,第i-1帧下基线图像Bi-1映射到圆柱面后的图像的特征点FB,i-1,以及Fc,fi的匹配结果,从而计算单应性矩阵H。这样得到的H矩阵更为准确,能够在与上一帧下基线图像配准的同时,还能和关键帧进行更好的配准。手机将向和进行映射。手机将映射后的处于裁剪范围内的矩形部分裁剪下来,并拼接到下基线图像拼接结果RB(i-1)的右侧,从而形成下基线图像拼接结果RBi,即偏离指示箭头沿下方子路径移动时拼接获得的目标图像RBi。
而后,用户沿着下方子路径继续转动手机。手机重复上述采集、映射和拼接过程,直至β>βr。此时,手机沿着中间子路径采集的所有下基线图像帧都拼接完成,生成下基线图像拼接结果RB,即下方子路径对应的拼接结果RB,整个全景图像拼接完成,整个拍摄过程结束。需要说明的是,对于β≥βr情况下的最后一帧下基线图像映射到圆柱面后的图像,右边界可以作为其右侧的裁剪线,超出右边界的部分可以被裁掉。示例性的,最后一帧下基线图像拼接结果的示意图可以参见图18中的(c)。
同样地,手机将下基线图像与中基线图像中的关键帧进行配准,可以及时修正下基线图像拼接时与中基线拼接结果的错位误差,使得下基线图像与中基线图像拼接结果进行精确配准,从而实现全局的配准,下基线图像和中基线图像拼接结果可以形成一个平滑、自然过渡的整体图像。
303、手机在停止拍摄后,生成全景图像。
当用户沿着下方子路径转动手机,偏离指示箭头到达下方子路径的末端后,旋转角β>βr,手机结束用户引导,停止显示引导路径,下基线图像拼接完成后生成全景图像。示例性的,手机生成的全景图像可以参见图19中的(a)所示的缩略图1901,和图19中的(b)所示的图库中的缩略图1902。
或者,在拍摄过程中,若手机检测到用户停止拍摄的操作(例如用户点击图18中的(b)所示的停止拍摄控件1803的操作)后,停止全景图像的拍摄。或者,如以上实施例所述,若在之前的拍摄过程中偏离指示箭头超出目标子路径的最大偏离范围,则手机中止拍摄。或者,在拍摄过程中,若手机检测到用户停止拍摄的操作,则中止拍摄。其中,若中止拍摄时目标子路径为中间子路径,则获得的全景图像为中止拍摄时的中基线图像拼接结果。此外,若中止拍摄时目标子路径为右方子路径或上方子路径,则手机获得的全景图像为完整的中基线图像拼接结果。若中止拍摄时目标子路径为左方子路径或下方子路径,则手机获得的全景图像为完整的中基线图像及上基线图像拼接结果。这样,可以避免手机拍摄获得的全景图像上,中基线图像拼接结果的视场角较大而上基线图像或下基线图像拼接结果的视场角较小,从而导致获得的全景图像不规则、不完整。
此外,在一些实施例中,手机在停止拍摄后还可以生成一个视频,该视频图像为拍摄过程中拼接预览窗口内显示的各拼接后的图像。当用户指示播放该视频时,手机可以将拍摄过程中图像拼接过程动态地呈现给用户。
在另一些实施例中,手机还可以保存拍摄过程中根据引导路径采集到的图像序列,响应于用户对该图像序列的编辑操作,手机可以生成全景图像。
在本申请的实施例中,手机通过对水平方向上中基线图像、上基线图像或下基线图像进行拼接,可以在水平方向上扩展全景图像的视场角;通过将上基线图像与中基线图像进行配准和拼接,并将下基线图像与中基线图像进行配准和拼接,还可以在竖直方向上扩展全景图像的视场角,从而使得全景图像的整个视场角更大,提高用户拍摄体验。
并且,在本申请的实时中,采用圆柱面映射可以使得手机从不同角度拍摄的图像上,同一对象映射后的尺寸和成像特征相匹配,从而使得不同角度拍摄的图像可以进行配准和拼接,进而生成全景图像,因而可以符合全景图各部分图像尺寸基本一致的视觉效果。
此外,全景图像并不是单纯的上、中、下基线图像拼接结果的简单组合。每种基线图像拼接结果都是根据多个单应性矩阵H配准和拼接获得的,每个小部分都对应不同的单应性矩阵H,因而不同种类的基线图像拼接结果之间无法计算获得一个单应性矩阵H,使得两个基线图像拼接结果各部分之间都能进行很好的对应和匹配,因而无法简单地对上、中、下基线图像拼接结果直接进行拼接。在本申请的实施例中,上基线图像和下基线图像还根据中基线的关键帧进行配准和拼接,可以及时修正上、下基线图像拼接时与中基线拼接结果的错位误差,使得上基线图像、下基线图像与中基线图像拼接结果进行精确配准,从而实现全局的配准,上基线图像拼接结果、中基线图像拼接结果和下基线图像拼接结果可以更好地融合在一起,从而形成一个平滑、自然过渡的整体图像。
在以上实施例中,引导路径的始端为中间子路径的左端,引导路径的末端为下方子路径的末端。可以理解的是,在情况1所示的第一方向为水平方向且第二方向为竖直方向的场景下,根据始端、末端或变化方向(或称运行方向)不同,引导路径还可以有多种不同的形式。示例性的,不同始端和末端的引导路径可以参见图20中的(a)-(f)。可以理解的是,情况1下还可以包括图20所举示例以外的其他引导路径,本申请实施例不予限定。
在本申请的一些实施例中,当手机处于竖屏或横屏等不同状态下,引导路径会随着手机的状态相应变化。示例性的,在图4A中的(b)所示的场景下,若手机切换为竖屏状态,则手机显示的预览界面示意图可以参见图21。
情况2、第一方向为竖直方向,第二方向为水平方向。
在情况2下,第一方向为竖直方向,第二方向为水平方向。与情况1相比,第一方向为竖直方向,竖直方向的子路径较长,引导路径包括至少两条竖直方向的子路径。引导路径还可以包括用于连接竖直方向的子路径的至少一条水平方向的子路径。类似地,在情况2对应的一种引导路径下,手机显示的一种预览界面示意图可以参见图22A。在情况2下,根据始端、末端或运行方向不同,引导路径还可以有多种不同的形式。示例性的,不同始端和末端的引导路径可以参见图22B中的(a)-(c)。可以理解的是,情况1下还可以包括图22B所举示例以外的其他引导路径,本申请实施例不予限定。情况2对应的全景拍摄方法与情况1类似,这里不再赘述,不同之处在于:在情况1中,手机根据水平方向的三条基线对图像进行拼接;而在情况2中,手机根据竖直方向的三条基线对图像进行拼接。
可以理解的是,情况1适于拍摄水平方向上的视场角范围较大的拍摄场景;情况2适于拍摄竖直方向上的视场角范围较大的拍摄场景(例如拍摄高楼大厦)。示例性的,情况2对应的拍摄即将结束时,拼接预览窗口中的图像拼接结果示意图可以参见图22C。
在情况2中,手机通过对沿着某条竖直方向上的子路径采集的图像进行拼接,可以在竖直方向上扩展全景图像的视场角;通过对沿着多条竖直方向上的子路径采集的图像进行拼接,还可以在水平方向上扩展全景图像的视场角,从而使得全景图像的整个视场角更大,提高用户拍摄体验。
在本申请的实施例中,用户可以根据拍摄场景的实际需求,选择或切换情况1或情况2对应的引导路径模式进行全景图像的拍摄。
以上实施例是以第一方向包括三条子路径为例进行说明的。在其他一些实施例中,第一方向也可以仅包括两条子路径,第二方向可以包括多条用于连接第一子方向的子路径的子路径。示例性的,当第一方向为水平方向,第二方向为水平方向,且第一方向包括两条子路径时,引导路径可以参见图23中的(a),拍摄获得的全景图像可以参见图23中的(b)。可以理解的是,当始端、末端或运行方向不同时,引导路径还可以有多种不同的形式。
再示例性的,当第一方向为水平方向,第二方向为水平方向,且第一方向包括两条子路径时,引导路径可以参见图24中的(a),拍摄获得的全景图像可以参见图24中的(b)。可以理解的是,当始端、末端或运行方向不同时,引导路径还可以有多种不同的形式。
与第一方向包括三条子路径相比,当引导路径包括两条子路径时,引导路径虽然减少了第一方向的一条子路径,但仍然可以扩展第二方向的视场角,同时还可以简化全景图像的拍摄过程。
在其他一些实施例中,第一方向也可以包括三条以上的子路径,第二方向可以包括多条用于连接第一方向的子路径的子路径。示例性的,在情况1中,在水平方向上包括4条子路径的引导路径可以参见图25中的(a)-(b),拍摄获得的全景图像可以参见图25中的(c)。当第一方向上的子路径的条数更多时,手机可以更大地扩展与第一方向垂直的第二方向上的视场角范围。
以上是以后置全景拍摄为例进行说明的,对于前置全景拍摄,手机同样可以采用以上实施例描述的方法拍摄全景图像,此处不予赘述。
以上是以电子设备为手机为例进行说明的,当电子设备为手机以外的其他设备时,同样可以采用以上实施例描述的方法进行全景拍摄,此处不予赘述。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,在一种划分方式中,参见图26,电子设备2600可以包括摄像头2601、ISP2602,输入缓存单元2603,计算处理单元2604,惯性测量单元(inertial measurementunit,IMU)2605,输出缓存单元2606,编码器2607,显示单元2608,以及其他单元/模块。
其中,ISP将摄像头采集到的图像帧进行处理后,输出至输入缓存单元。计算处理单元根据IMU的数据对输入缓存单元中的图像数据进行相应的裁剪和拼接等处理,并将处理结果输出至输出缓存单元。显示单元根据输出缓存单元中的处理结果显示界面和引导信息。在拼接过程完成后,编码器将处理结果中的图像数据编码后输出给图库或其他应用。
示例性的,以情况1所示的包括三条水平子路径的情况为例进行说明。当用户进入全景拍摄模式后,计算处理单元初始化该场景下的各个参数,包括上、下基线对应的绕x轴的旋转角αt,αb(中基线旋转角α为0),第1,2,3,4裁剪边界对应的旋转角α1,α2,α3,α4,右基线对应的绕y轴的旋转角βr(左基线旋转角β为0),左边界、左裁剪线、右裁剪线和右边界对应的旋转角β1,β2,β3,β4,以及关键帧的间隔Δβ等。计算处理单元根据旋转角确定引导信息的位置。显示屏可以显示如图4A中的(b)所示的预览界面,预览界面上包括引导信息。当电子设备检测到用户的拍摄操作后,ISP将摄像头接收的图像帧进行处理后送给计算处理单元。计算处理单元根据拍摄进程对界面进行实时刷新,显示屏显示如图6中的(a)所示的拍摄界面。计算处理单元对摄像头采集到的中基线图像进行拼接。输出缓存单元缓存关键帧和拼接结果,显示屏显示拼接结果。当电子设备的旋转角β>βr后,显示屏显示如图15所示的拍摄界面,以引导用户向上转动电子设备。当电子设备的旋转角α>αt后,显示屏显示如图16A所示的拍摄界面,以引导用户向左转动电子设备,计算处理单元根据关键帧对摄像头采集到的上基线图像进行拼接。输出缓存单元缓存拼接结果,显示屏显示拼接结果。当电子设备的旋转角β<0后,显示屏显示如图17所示的拍摄界面,以引导用户向下转动电子设备。当电子设备的旋转角α<αb后,显示屏显示如图18中的(b)所示的拍摄界面,以引导用户向右转动电子设备,计算处理单元根据关键帧对摄像头采集到的下基线图像进行拼接。输出缓存单元缓存拼接结果,显示屏显示拼接结果。当电子设备的旋转角β>βr后,全景图像拼接完成。
本申请实施例还提供一种电子设备,包括:摄像头,用于采集图像;显示屏,用于显示界面;一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的全景拍摄方法。
本申请实施例还提供一种电子设备,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的全景拍摄方法。
本申请的实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的全景拍摄方法。
本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子设备执行的全景拍摄方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中电子设备执行的全景拍摄方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种全景拍摄方法,其特征在于,包括:
电子设备进入相机应用的全景拍摄模式;
所述电子设备在预览界面上显示第一引导信息,所述第一引导信息包括第一引导路径;所述第一引导路径包括沿第一方向设置且相互平行的至少两条子路径,所述第一方向与所述电子设备的一条侧边平行,所述第一引导路径用于引导用户在拍摄过程中分别沿所述第一引导路径中的每条子路径转动所述电子设备;
所述电子设备检测到拍摄操作后,在拍摄界面上显示第二引导信息,所述第二引导信息包括拼接预览窗口、第二引导路径和偏离指示标记;其中,所述偏离指示标记用于表示所述电子设备采集的图像的中心线的位置,所述偏离指示标记在拍摄过程中沿着所述第二引导路径移动;所述第二引导路径包括所述第一引导路径上所述偏离指示标记未经过的部分;
所述电子设备在所述拼接预览窗口内显示所述偏离指示标记沿所述第一方向的子路径移动时,所述电子设备采集的图像拼接获得的目标图像;
所述电子设备在所述偏离指示标记到达所述第二引导路径的末端后停止拍摄,所述电子设备拼接获得的目标图像即为全景图像。
2.根据权利要求1所述的方法,其特征在于,沿所述第一方向设置的不同子路径,在所述第一方向上对应的坐标范围存在重叠。
3.根据权利要求2所述的方法,其特征在于,沿所述第一方向设置的不同子路径,在所述第一方向上对应的坐标范围相同。
4.根据权利要求1所述的方法,其特征在于,所述第一引导路径还包括沿第二方向设置的至少一条子路径,所述至少一条子路径用于连接沿所述第一方向设置的至少两条子路径,所述第二方向与所述第一方向垂直。
5.根据权利要求1-4任一项所述的方法,其特征在于,当所述偏离指示标记沿着所述第二引导路径中的任一子路径移动时,所述第二引导信息还包括位于所述任一子路径两侧且与所述任一子路径平行的偏离范围指示线;所述方法还包括:
若所述偏离指示标记超出所述偏离范围指示线所指示的范围,则所述电子设备停止拍摄。
6.根据权利要求5所述的方法,其特征在于,所述第一引导路径包括沿第一方向设置且相互平行的第一子路径和第三子路径,且所述第一子路径为起始子路径;
所述第一引导路径还包括沿第二方向设置的第二子路径,所述第二子路径用于连接所述第一子路径和所述第三子路径;
在拍摄过程中,所述偏离指示标记依次沿着所述第一子路径、所述第二子路径和所述第三子路径移动。
7.根据权利要求6所述的方法,其特征在于,所述第一引导路径还包括沿所述第一方向设置且与所述第一子路径平行的第五子路径,所述第三子路径和所述第五子路径位于所述第一子路径的两侧;
所述第一引导路径还包括沿所述第二方向设置且与所述第二子路径平行的第四子路径,所述第四子路径用于连接所述第三子路径和所述第五子路径;
在拍摄过程中,所述偏离指示标记依次沿着所述第一子路径、所述第二子路径、所述第三子路径、所述第四子路径以及所述第五子路径移动。
8.根据权利要求7所述的方法,其特征在于,在拍摄过程中,当所述偏离指示标记沿所述第一子路径移动时,所述第二引导路径包括所述第一子路径上所述偏离指示标记未经过的部分以及所述第二子路径至所述第五子路径,且所述第一子路径两侧显示有偏离范围指示线;所述拼接预览窗口内显示所述偏离指示标记沿着所述第一子路径移动时,所述电子设备采集的图像拼接获得的目标图像;
当所述偏离指示标记沿所述第二子路径移动时,所述第二引导路径包括所述第二子路径上所述偏离指示标记未经过的部分以及所述第三子路径至所述第五子路径,且所述第二子路径两侧显示有偏离范围指示线;所述拼接预览窗口内显示的所述目标图像为所述偏离指示标记移动到所述第一子路径的末端后,所述电子设备采集的图像拼接获得的所述第一子路径对应的拼接结果;
当所述偏离指示标记沿所述第三子路径移动时,所述第二引导路径包括所述第三子路径上所述偏离指示标记未经过的部分以及所述第四子路径和所述第五子路径,且所述第三子路径两侧显示有偏离范围指示线;所述拼接预览窗口内显示的所述目标图像为所述偏离指示标记沿着所述第二子路径移动时,所述电子设备采集的图像与所述第一子路径对应的拼接结果进行拼接获得的图像。
9.根据权利要求8所述的方法,其特征在于,当所述偏离指示标记沿所述第一子路径移动时,所述电子设备在所述拼接预览窗口内显示所述偏离指示标记沿着所述第一方向的子路径移动时,所述电子设备采集的图像拼接获得的目标图像,包括:
所述电子设备计算所述FI,i和所述FI,i-1的匹配结果;
其中,所述第一裁剪范围包括所述第一子路径的偏离范围指示线对应的裁剪线以及所述电子设备预设的左边界线和右边界线限定的范围。
10.根据权利要求9所述的方法,其特征在于,当所述偏离指示标记沿所述第一子路径移动时,所述方法还包括:
所述电子设备从沿着所述第一方向的子路径转动时采集的图像帧中获取多个关键帧。
11.根据权利要求10所述的方法,其特征在于,当所述偏离指示标记沿所述第三子路径移动时,所述电子设备在所述拼接预览窗口内显示所述偏离指示标记沿着所述第一方向的子路径移动时所述电子设备采集的图像拼接获得的目标图像,包括:
所述电子设备从所述多个关键帧中获取与所述第三子路径的第一帧图像A1匹配的目标关键帧Gf1;
所述电子设备计算所述FA,1和所述FA,f1的匹配结果;
其中,所述第二裁剪范围包括所述第三子路径的偏离范围指示线对应的裁剪线以及所述电子设备预设的左边界线和右边界线限定的范围。
12.根据权利要求11所述的方法,其特征在于,在xyz坐标系中,所述电子设备摄像头的镜头位于xyz三维坐标系的xy平面;所述关键帧对应的绕y轴的旋转角的间隔大于或者等于预设值Δβ;其中,在所述多个关键帧中,所述目标关键帧Gf1对应的绕y轴的旋转角与所述A1对应的绕y轴的旋转角的差值最小。
13.根据权利要求11所述的方法,其特征在于,当所述偏离指示标记沿所述第三子路径移动时,所述电子设备在所述拼接预览窗口内显示所述偏离指示标记沿着所述第一方向的子路径移动时所述电子设备采集的图像拼接获得的目标图像,还包括:
所述电子设备从所述多个关键帧中获取与所述第三子路径的第i帧图像Ai匹配的第i目标关键帧Gfi;
所述电子设备计算所述FA,i,所述FA,i-1和所述FA,fi的匹配结果;
14.根据权利要求10-13任一项所述的方法,其特征在于,当所述偏离指示标记沿所述第五子路径移动时,所述电子设备在所述拼接预览窗口内显示所述偏离指示标记沿着所述第一方向的子路径移动时所述电子设备采集的图像拼接获得的目标图像,包括:
所述电子设备根据所述多个关键帧,将沿着所述第五子路径转动时采集的图像与所述第一子路径对应的拼接结果进行拼接。
15.根据权利要求7-13任一项所述的方法,其特征在于,在xyz坐标系中,所述电子设备摄像头的镜头位于xyz三维坐标系的xy平面;
所述电子设备预设有左边界线、左基线、左裁剪线、右裁剪线、右基线和右边界线;所述左基线与所述第四子路径对应,所述左基线对应的绕y轴的旋转角为0,所述右基线与所述第二子路径对应,所述右基线对应的绕y轴的旋转角为βr,所述左裁剪线对应的绕y轴的旋转角为β2,所述右裁剪线对应的绕y轴的旋转角为β3,所述左边界线对应的绕y轴的旋转角为β1,所述右边界线对应的绕y轴的旋转角为β4;
所述电子设备还预设有上基线、中基线、下基线,以及第一裁剪线、第二裁剪线、第三裁剪线和第四裁剪线;其中,所述上基线、所述中基线和所述下基线分别与所述第三子路径、所述第一子路径和所述第五子路径对应,所述第一裁剪线和所述第二裁剪线与所述第三子路径的偏离范围指示线对应,所述第二裁剪线和所述第三裁剪线与所述第一子路径的偏离范围指示线对应,所述第三裁剪线和所述第四裁剪线与所述第五子路径的偏离范围指示线对应;所述第一裁剪线、所述上基线、所述第二裁剪线、所述中基线、所述第三裁剪线、所述下基线和所述第四裁剪线对应的绕x轴的旋转角分别为α1,αt,α2,0,α3,αb,α4;所述方法还包括:
当所述偏离指示标记沿着所述第一子路径移动时,若所述电子设备绕x轴的旋转角α>α1或α<α2,则所述电子设备停止拍摄;
当所述电子设备绕y轴的旋转角β>βr时,所述偏离指示标记由沿着所述第一子路径移动切换为沿着所述第二子路径移动;若所述电子设备绕y轴的旋转角β>β4或β<β3,则所述电子设备停止拍摄;
当所述电子设备绕x轴的旋转角α>αt时,所述偏离指示标记由沿着所述第二子路径移动切换为沿着所述第三子路径移动;当所述电子设备绕x轴的旋转角α>α1或α<α2时,所述电子设备停止拍摄;
当电子设备绕y轴的旋转角β<0时,所述偏离指示标记由沿着所述第三子路径移动切换为沿者所述第四子路径移动;当所述电子设备绕y轴的旋转角β>β2或β<β1时,所述电子设备停止拍摄;
当所述电子设备绕x轴的旋转角α<αb时,所述偏离指示标记由沿着所述第四子路径移动切换为沿着所述第五子路径移动;当所述电子设备绕x轴的旋转角α>α3或α<α4时,所述电子设备停止拍摄;
当所述电子设备绕y轴的旋转角β>βr时,所述电子设备停止拍摄。
16.一种电子设备,其特征在于,包括:
摄像头,用于采集图像;
屏幕,用于显示界面;
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令;当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-15中任一项所述的全景拍摄方法。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-15中任一项所述的全景拍摄方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478652.1A CN113747044B (zh) | 2020-05-29 | 2020-05-29 | 一种全景拍摄方法及设备 |
PCT/CN2021/078666 WO2021238317A1 (zh) | 2020-05-29 | 2021-03-02 | 一种全景拍摄方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478652.1A CN113747044B (zh) | 2020-05-29 | 2020-05-29 | 一种全景拍摄方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113747044A CN113747044A (zh) | 2021-12-03 |
CN113747044B true CN113747044B (zh) | 2023-05-02 |
Family
ID=78724968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478652.1A Active CN113747044B (zh) | 2020-05-29 | 2020-05-29 | 一种全景拍摄方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113747044B (zh) |
WO (1) | WO2021238317A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827472B (zh) * | 2022-04-29 | 2023-05-30 | 北京城市网邻信息技术有限公司 | 全景拍摄方法、装置、电子设备及存储介质 |
CN117135259B (zh) * | 2023-04-11 | 2024-06-07 | 荣耀终端有限公司 | 摄像头的切换方法、电子设备、芯片***及可读存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964869B (zh) * | 2009-07-23 | 2012-08-22 | 华晶科技股份有限公司 | 全景图像的引导拍摄方法 |
JP6070541B2 (ja) * | 2011-03-30 | 2017-02-01 | 日本電気株式会社 | 撮像装置、撮像装置の撮影ガイド表示方法及びプログラム |
CN102201115B (zh) * | 2011-04-07 | 2013-12-11 | 湖南天幕智能科技有限公司 | 无人机航拍视频实时全景图拼接方法 |
CN103176347B (zh) * | 2011-12-22 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 全景图拍摄方法及拍摄装置和电子设备 |
KR102021857B1 (ko) * | 2013-07-23 | 2019-09-17 | 엘지전자 주식회사 | 이동 단말기 및 그의 파노라마 촬영방법 |
KR102089614B1 (ko) * | 2013-08-28 | 2020-04-14 | 삼성전자주식회사 | 구면 파노라마 이미지 촬영 방법 및 그 전자 장치 |
CN104394321B (zh) * | 2014-11-28 | 2017-05-24 | 广东欧珀移动通信有限公司 | 移动终端及移动终端的成像方法 |
CN105657257B (zh) * | 2015-12-29 | 2018-07-17 | 广东欧珀移动通信有限公司 | 全景照片的拍摄方法、装置、***、移动终端及自拍杆 |
CN105957008B (zh) * | 2016-05-10 | 2019-08-16 | 厦门美图之家科技有限公司 | 基于移动终端的全景图像实时拼接方法及*** |
CN107545538B (zh) * | 2016-06-24 | 2020-06-02 | 清华大学深圳研究生院 | 一种基于无人机的全景图像拼接方法及装置 |
JP7005324B2 (ja) * | 2017-12-11 | 2022-01-21 | キヤノン株式会社 | 撮像装置、撮像装置の制御方法およびプログラム |
CN110012209B (zh) * | 2018-01-05 | 2020-08-14 | Oppo广东移动通信有限公司 | 全景图像生成方法、装置、存储介质及电子设备 |
CN108259762A (zh) * | 2018-03-23 | 2018-07-06 | 南京嘉码信息科技有限公司 | 一种漫游式全景图自动拍摄***及方法 |
CN109087244B (zh) * | 2018-07-26 | 2023-04-18 | 深圳禾苗通信科技有限公司 | 一种全景图像拼接方法、智能终端及存储介质 |
CN110505401A (zh) * | 2019-08-16 | 2019-11-26 | 维沃移动通信有限公司 | 一种摄像头控制方法及电子设备 |
CN110675319B (zh) * | 2019-09-12 | 2020-11-03 | 创新奇智(成都)科技有限公司 | 一种基于最小生成树的手机拍照全景图像拼接方法 |
-
2020
- 2020-05-29 CN CN202010478652.1A patent/CN113747044B/zh active Active
-
2021
- 2021-03-02 WO PCT/CN2021/078666 patent/WO2021238317A1/zh active Application Filing
Non-Patent Citations (1)
Title |
---|
基于立体全景漫游中深度图获取技术的研究;兰诚栋;《微型机与应用》;20170830;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113747044A (zh) | 2021-12-03 |
WO2021238317A1 (zh) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555883B (zh) | 相机姿态追踪过程的重定位方法、装置及存储介质 | |
CN110675420B (zh) | 一种图像处理方法和电子设备 | |
CN112333380B (zh) | 一种拍摄方法及设备 | |
CN113747050B (zh) | 一种拍摄方法及设备 | |
CN111010506A (zh) | 一种拍摄方法及电子设备 | |
CN113727012B (zh) | 一种拍摄方法及终端 | |
CN114339102B (zh) | 一种录像方法及设备 | |
CN110636276B (zh) | 视频拍摄方法、装置、存储介质及电子设备 | |
CN116582741B (zh) | 一种拍摄方法及设备 | |
WO2022022715A1 (zh) | 一种拍摄方法及设备 | |
WO2022022726A1 (zh) | 一种拍摄方法及设备 | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN113709355B (zh) | 滑动变焦的拍摄方法及电子设备 | |
CN113747044B (zh) | 一种全景拍摄方法及设备 | |
CN114071010B (zh) | 一种拍摄方法及设备 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN113592751A (zh) | 图像处理方法、装置和电子设备 | |
CN114390186A (zh) | 视频拍摄方法及电子设备 | |
CN114071009B (zh) | 一种拍摄方法及设备 | |
CN114979458B (zh) | 一种图像的拍摄方法及电子设备 | |
CN114339101B (zh) | 一种录像方法及设备 | |
CN114827442B (zh) | 生成图像的方法和电子设备 | |
CN114390191B (zh) | 录像方法、电子设备及存储介质 | |
CN114302063B (zh) | 一种拍摄方法及设备 | |
CN115147492A (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 |