CN114511447A - 图像处理方法、装置、设备及计算机存储介质 - Google Patents
图像处理方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN114511447A CN114511447A CN202210110821.5A CN202210110821A CN114511447A CN 114511447 A CN114511447 A CN 114511447A CN 202210110821 A CN202210110821 A CN 202210110821A CN 114511447 A CN114511447 A CN 114511447A
- Authority
- CN
- China
- Prior art keywords
- image
- coordinates
- unfolded
- pixel
- determining
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000003287 optical effect Effects 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 69
- 230000004927 fusion Effects 0.000 claims description 30
- 230000009466 transformation Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 19
- 238000009877 rendering Methods 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000007613 environmental effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000007499 fusion processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 235000014443 Pyrus communis Nutrition 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
- 238000005516 engineering process Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种图像处理方法、装置、设备及计算机存储介质,其中,该方法包括:获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
Description
技术领域
本申请实施例涉及但不限于计算机视觉技术领域,尤其涉及一种图像处理方法、装置、设备及计算机存储介质。
背景技术
相关技术中通常采用拍摄的方式获取摄像头周围的环境信息。然而,由于摄像头的拍摄视角有限,因此为了获取摄像头周围的大视角的环境信息,需要多个摄像头对周围的环境进行拍摄。在这种方式下,需要查看多张图像才能够获取摄像头周围的环境信息,导致用户无法便利地获取摄像头周围的大视角的环境信息。
发明内容
本申请实施例提供一种图像处理方法、装置、设备及计算机存储介质。
第一方面,本申请实施例提供一种图像处理方法,包括:获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
这样,由于对第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像进行转换处理得到第一展开图像,基于第一展开图像的像素信息,确定全景图像,从而使得用户查看全景图像就可以获取摄像头周围的环境信息,进而使得用户能够便利地获取摄像头周围的大视角的环境信息;并且,由于基于第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和顶点的像素信息,基于顶点坐标和顶点的像素信息,确定全景图像,从而全景图像是通过顶点坐标和顶点的像素信息渲染得到的图像,进而能够清晰的显示摄像头周围的环境信息。
在一些实施例中,所述对所述第一图像和所述第二图像进行转换处理,得到第一展开图像,包括:确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系;基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
这样,由于基于第一图像的坐标与第一展开图像的坐标之间的第一转换关系,以及第二图像的坐标与第一展开图像的坐标之间的第二转换关系,得到第一展开图像,从而第一展开图像不仅具有第一图像的特征,还具有第二图像的特征,使得拼接得到的第一展开图像能够全面地反映出第一图像的特征和第二图像的特征。
在一些实施例中,所述确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系,包括:确定所述第一展开图像中多个像素点的坐标,与映射的第二球坐标系上多个像素点的坐标之间的第三转换关系;确定所述第二球坐标系上多个像素点的坐标,与映射的所述第一图像中多个像素点的坐标之间的第四转换关系;确定所述第二球坐标系上多个像素点的坐标,与映射的所述第二图像中多个像素点的坐标之间的第五转换关系;基于所述第三转换关系和所述第四转化关系,确定所述第一转换关系,以及基于所述第三转换关系和所述第五转换关系,确定所述第二转换关系。
这样,由于基于第三转换关系和第四转化关系,确定第一转换关系,以及基于第三转换关系和第五转换关系,确定第二转换关系,从而能够将拍摄的第一图像和第二图像映射到第二球体坐标系上,以消除第一摄像和第二摄像头的外参、内参以及畸变参数对第一图像和第二图像拍摄的影响,以及,能够基于第二球体坐标系上映射的图像确定第一展开图像,从而能够使得第一展开图像能够准确地反映摄像头周围的真实场景。
在一些实施例中,所述基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到第一展开图像,包括:基于所述第一图像和所述第一转换关系,确定与所述第一图像对应的第一子展开图像;基于所述第二图像和所述第二转换关系,确定与所述第二图像对应的第二子展开图像;对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域;对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像。
这样,由于先确定第一子展开图像和第二子展开图像,对第一子展开图像的第一像素点和第二子展开图像的第二像素点进行融合,得到融合区域,对第一子展开图像中第一像素点之外的第三像素点,融合区域以及第二子展开图像中第二像素点之外的第四像素点进行拼接,得到第一展开图像,从而能够对第一图像和第二图像中的重合部分进行融合,使得第一子展开图像与第二子展开图像之间能够平滑过渡,提高了第一展开图像的真实感。
在一些实施例中,所述第一像素点对应在所述第二球坐标系中的像素点与所述第二球坐标系圆心的第一连线,与第二连线之间的夹角,大于或等于第一角度且小于或等于第二角度;所述第二连线为所述第一子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;所述第二像素点对应在所述第二球坐标系中的像素点与所述圆心的第三连线,与第四连线之间的夹角,大于或等于所述第一角度且小于或等于所述第二角度;所述第四连线为所述第二子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;所述第一角度为90度减去第三角度的值,所述第二角度为90度加上所述第三角度的值。
这样,对第一子展开图像与第二子展开图像融合的像素点对应在第二球坐标系中的像素点,与第二球坐标系圆心的连线,与子展开图像的中心位置对应在第二球坐标系中的位置与圆心的连线之间的角度,大于或等于第一角度且小于或等于第二角度,从而能够对大于或等于第一角度且小于或等于第二角度所对应的像素点进行融合处理,减少了融合处理的像素点过多导致计算量过大,以及融合处理的像素点过少导致第一子展开图像与第二子展开图像之间过渡不自然的情况发生。
在一些实施例中,所述对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域,包括:基于所述第一连线与所述第二连线之间的夹角、所述第三连线和所述第四连线之间的夹角,以及所述第二角度和所述第一角度中的一个,确定加权系数;基于所述加权系数,对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到所述融合区域。
这样,由于基于第一连线与第二连线之间的夹角、第三连线和第四连线之间的夹角确定加权系数,再基于加权系数对第一像素点和第二像素点进行融合,从而融合区域是对第一像素点和第二像素点加权处理的结果,使得融合区域能够准确地反映真实的场景。
在一些实施例中,所述对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像,包括:对所述第一子展开图像的所述第三像素点、所述融合区域以及所述第二子展开图像的所述第四像素点进行拼接,得到第二展开图像;对所述第二展开图像进行平滑处理,得到所述第一展开图像。
这样,通过对拼接得到的第二展开图像进行平滑处理,得到第一展开图像,从而能够消除第二展开图像中的锯齿,使得到的第一展开图像更加真实。
在一些实施例中,所述基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息,包括:将所述第一展开图像中多个像素点映射在所述第一球坐标系上多个像素点的坐标,确定为所述顶点坐标;确定所述第一展开图像中多个像素点的坐标,与映射的所述第一球坐标系上多个像素点的坐标之间的第六转换关系;基于所述第一展开图像中多个像素点的像素信息和所述第六转换关系,确定所述顶点的像素信息。
这样,通过将第一展开图像映射到第一球坐标系上,从而能够得到对应的第一球体坐标系上的顶点坐标和顶点的像素信息,且顶点坐标和顶点的像素信息能够全面的反映第一展开图像的特征,进而通过顶点坐标和顶点的像素信息渲染得到的全景图像,能够真实且全面地体现摄像头周围的环境信息。
在一些实施例中,所述基于所述顶点坐标和所述顶点的像素信息,确定全景图像,包括:响应于针对显示装置的滑动操作所生成的滑动指令,确定与所述滑动操作匹配的模型观察投影MVP矩阵;基于所述顶点坐标、所述顶点的像素信息以及所述MVP矩阵,确定所述全景图像。
这样,由于MVP矩阵能够基于用户对显示装置的滑动操作确定,且基于MVP矩阵确定全景图像,从而能够基于用户的滑动操作而切换全景图像的显示视角,进而提高了用户切换全景图像的显示视角的便捷性。
在一些实施例中,所述基于所述顶点坐标和所述顶点的像素信息,确定全景图像之后,所述方法还包括:确定所述全景图像中的特定对象对应的三维网格模型;对所述三维网格模型进行渲染,得到渲染后的三维网格模型;将所述渲染后的三维网格模型覆盖在所述全景图像中的特定对象上。
这样,通过对特定对象对应的三维网格模型进行渲染,并将渲染后的三维网格模型覆盖在全景图像中的特定对象上,从而使得用户能够方便地了解特定对象的三维特征。
第二方面,本申请实施例提供一种图像处理装置,包括:获取单元,用于获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;转换单元,用于对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;确定单元,用于基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;所述确定单元,还用于基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
第三方面,本申请实施例提供一种图像处理设备,包括:存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的图像处理方法。
第四方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的图像处理方法。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本申请实施例提供的一种图像处理方法的流程示意图,;
图2a为本申请实施例提供的另一种图像处理方法的流程示意图;
图2b为本申请实施例提供的一种相机模型的示意图;
图3为本申请实施例提供的又一种图像处理方法的流程示意图;
图4a为本申请实施例提供的再一种图像处理方法的流程示意图;
图4b为本申请实施例提供的一种顶点的位置示意图;
图5为本申请另一实施例提供的一种图像处理方法的流程示意图;
图6为本申请又一实施例提供的一种图像处理方法的流程示意图;
图7为本申请实施例提供的一种图像处理装置的组成结构示意图;
图8为本申请实施例提供的一种图像处理设备的硬件实体示意图。
具体实施方式
下面将通过实施例并结合附图具体地对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是:在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以下实施例提供的图像处理方法可以应用于图像处理设备或者处理器,处理器可以应用于图像处理设备。
图像处理设备可以包括以下之一或者至少两者的结合:物联网(Internet ofThings,IoT)设备、卫星终端、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、服务器、手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、掌上电脑、台式计算机、个人数字助理、便捷式媒体播放器、智能音箱、导航装置、智能手表、智能眼镜、智能项链等可穿戴设备、计步器、数字TV、虚拟现实(VirtualReality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端以及车联网系统中的车、车载设备、车载模块、无线调制解调器(modem)、手持设备(handheld)、客户终端设备(Customer Premise Equipment,CPE)、智能家电等等。
图1为本申请实施例提供的一种图像处理方法的流程示意图,如图1所示,该方法应用于图像处理设备或者处理器,该方法包括:
S101、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
在一些实施例中,第一摄像头和/或第二摄像头可以包括在图像处理设备中,从而第一摄像头和第二摄像头在拍摄到第一图像和第二图像的情况下,可以向处理器发送第一图像和第二图像。在另一些实施例中,第一摄像头和/或第二摄像头不包括在图像处理设备中,例如第一摄像头和第二摄像头可以包括在另一设备中,第一摄像头和第二摄像头在拍摄得到第一图像和第二图像的情况下,图像处理设备可以接收另一设备发送的第一图像和第二图像,从而图像处理设备获取第一图像和第二图像。
在一些实施例中,第一摄像头和第二摄像头可以均是鱼眼摄像头,这样第一图像和第二图像可以均为鱼眼图像。在另一些实施例中,第一摄像头和第二摄像头可以均为普通摄像头或广角摄像头等。
在一些实施例中,第一摄像头和第二摄像头的拍摄参数可以相同。在另一些实施例中,第一摄像头和第二摄像头的拍摄参数可以不同。拍摄参数可以包括以下至少之一:外参、内参、畸变参数。在一些实施例中,第一摄像头和第二摄像头可以是同一种类型的摄像头,例如,第一摄像头和第二摄像头可以均为鱼眼摄像头、广角摄像头或普通摄像头等。在另一些实施例中,第一摄像头和第二摄像头可以是不同类型的摄像头。例如,第一摄像头可以为鱼眼摄像头,第二摄像头可以为普通摄像头。
在一些实施例中,第一摄像头的视角可以与第二摄像头的视角具有重叠部分,或者说,第一摄像头的拍摄区域和第二摄像头的拍摄区域具有重叠。例如,第一摄像头和第二摄像头都能够拍摄到某一个对象。在另一些实施例中,第一摄像头的视角可以与第二摄像头的视角没有重叠部分,或者说,第一摄像头的拍摄区域和第二摄像头的拍摄区域没有重叠。
预设角度可以小于或等于:第一摄像头的视角的二分之一与第二摄像头的视角的二分之一之和。例如,在第一摄像头的视角和第二摄像头的视角相同的情况下,预设角度可以小于或等于第一摄像头的视角或者第二摄像头的视角。
在一些实施例中,第一鱼眼摄像头的视角可以大于180度,第二鱼眼摄像头的视角可以大于180度,第一鱼眼摄像头和第二鱼眼摄像头背对背设置。在另一些实施例中,第一鱼眼摄像头的视角和/或第二鱼眼摄像头的视角可以小于或等于180度。在另一些实施例中,第一鱼眼摄像头的光轴和第二鱼眼摄像头的光轴之间的夹角可以小于或等于180度。摄像头的光轴可以是光束(光柱)的中心线,或光学系统的对称轴。
在一些实施例中,第一图像和第二图像可以是同时拍摄的。在另一些实施例中,第一图像和第二图像可以是在不同时刻拍摄的。在一些实施例中,第一摄像头和第二摄像头可以每隔设定时长拍摄一张图像,且第一摄像头和第二摄像头拍摄图像的时间相同,第一图像和第二图像可以是第一摄像头和第二摄像头在某一个时刻拍摄的图像。在另一些实施例中,第一摄像头和第二摄像头可以拍摄视频,第一图像和第二图像可以分别是从第一摄像头和第二摄像头拍摄的视频中截取的在同一时刻的图像。
在一些实施例中,第一图像和/或第二图像可以是原始图像。例如,原始图像可以通过图像拍摄直接得到的图像。又例如,原始图像可以是视频中的图像帧。再例如,原始图像可以是从本地中读取的图像、下载的图像或者从其它设备(例如,硬盘、U盘或其它终端等)读取到的图像。又例如,原始图像可以是从本地中读取的视频、下载的视频或者从其它设备读取到的视频中的图像帧。
在另一些实施例中,第一图像和/或第二图像可以是通过对原始图像进行以下至少之一处理得到的图像:缩放处理、裁剪处理、去噪处理、添加噪声处理、灰度处理、旋转处理、归一化处理。例如,可以对原始图像进行缩放处理后,再进行旋转处理,得到第一图像或第二图像。
第一图像和/或第二图像的形状可以是圆形、椭圆形或者矩形。例如,在第一摄像头和第二摄像头为鱼眼摄像头的情况下,第一图像和/或第二图像的形状是圆形。
S102、对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
第一展开图像可以是平面坐标系下的图像,第一展开图像可以是二维图像。第一展开图像可以是矩形,例如第一展开图像可以为M×N的图像。M和N可以分别是高度和宽度方向上的像素点数量。在一些实施例中,M可以为N/2,或者,N可以为M/2。例如,M×N为1440×720、360×720或180×360等。
第一展开图像可以是与第一图像和第二图像对应的图像。第一展开图像可以是第一图像和第二图像的结合。例如,第一展开图像中的像素信息是基于第一图像的像素信息和第二图像的像素信息确定。
在一些实施例中,S102可以通过以下方式实现:对第一图像进行坐标转换得到第一子展开图像,对第二图像进行坐标转换得到第二子展开图像,基于第一子展开图像和第二子展开图像,确定第一展开图像。例如,可以对第一子展开图像和第二子展开图像进行转换处理,得到第一展开图像。第一子展开图像和第二子展开图像可以均为二维图像,第一子展开图像、第二子展开图像、第一展开图像所处的坐标系可以相同。在一些实施例中,第一子展开图像和第二子展开图像可以均为矩形。其中,图像拼接技术就是将至少两张有重叠部分的图像或者不具有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术。
在一些实施例中,第一展开图像的像素尺寸可以小于或等于第一图像和/或第二图像的像素尺寸。例如,第一展开图像上的像素点对应第一图像的部分像素点和第二图像的部分像素点。
S103、基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息。
第一球坐标系上的顶点的数量可以是预先设定。例如,顶点的数量可以为P×Q,其中,P的值可以小于或等于M,Q的值可以小于或等于N。在一些实施例中,P的值可以与Q的值相同。在另一些实施例中,P的值可以与Q的值不同。例如,P可以为Q/2,或者,Q可以为P/2。
可以对第一球坐标系上的球面(半径为R1或者归一化球面)使用“经纬分割法”分割,将球面沿着纬线方向分割成P份,以及沿着经线方向分成Q份,经纬网上的所有交点即为球面的顶点,球面的顶点坐标即为S103中的顶点坐标。
可以对第一展开图像中的部分或全部像素点进行坐标变化,以变化到第一球坐标系上,从而能够确定第一球坐标系上的顶点的像素信息。
S104、基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
S104可以包括:基于所述顶点坐标、所述顶点的像素信息以及模型观察投影(Model View Projection,MVP)矩阵,确定全景图像。
在一些实施例中,MVP矩阵可以是预先定义或者预先设置的。在另一些实施例中,MVP矩阵可以基于用户对全景图像的视角方向的调整生成的。
以下说明基于顶点坐标、所述顶点的像素信息以及MVP矩阵确定全景图像的方式:
在渲染流水线中,一个顶点要经过多个坐标空间的变换才能最终被画在屏幕上。顶点最开始是在模型空间中定义的,最后顶点将会变换到屏幕空间中,得到真正的屏幕像素坐标。其中,全景图像可以为屏幕空间中的图像。顶点变换的第一步就是将顶点从模型空间变换到世界空间中。这个变换通常叫做模型变换,用于模型空间到世界空间变换的矩阵可以为模型矩阵(Model矩阵)。顶点变换的第二步就是将顶点坐标从世界空间变换到观察空间中,这个变换通常叫做观察变换,用于世界空间到观察空间变换的矩阵可以为观察矩阵(View矩阵)。顶点接下来要从观察空间转换到裁剪空间(也被称为齐次裁剪空间)中,用于观察空间到裁剪空间变换的矩阵叫做裁剪矩阵或投影矩阵(Projection矩阵)。屏幕空间是一个二维空间,因此可以把顶点从裁剪空间投影到屏幕空间中,来生成对应的二维坐标。
这样,通过顶点坐标映射在屏幕空间中的二维坐标以及顶点的像素信息进行图像渲染,确定全景图像。
其中,MVP矩阵包括Model矩阵、View矩阵以及Projection矩阵。
模型矩阵可以基于目标矩阵确定,目标矩阵可以通过对初始矩阵进行变换得到,初始矩阵可以是四阶的单位矩阵。在一些实施例中,目标矩阵相较于初始矩阵的变换,可以对应于顶点坐标的旋转变换。例如,模型空间中的顶点坐标是视线方向在背对的两个鱼眼摄像头的后置镜头正前方的情况下,目标矩阵相较于初始矩阵的变换,可以对应于将顶点坐标绕Y轴旋转90度,然后绕X轴旋转-90度的变换。
图像处理设备可以接收用户针对屏幕的滑动操作,基于滑动操作,得到位移矩阵(Trans矩阵)。用户针对屏幕的滑动操作对应的旋转量,可以包括:绕X轴旋转第一预设角度和绕Y轴旋转第二预设角度。位移矩阵相较于已获取的初始位移矩阵的转换,可以对应于顶点坐标绕X轴旋转第一预设角度和顶点坐标绕Y轴旋转第二预设角度。这样,位移矩阵可以根据用户针对屏幕的滑动操作不断地进行更新。
在一些实施例中,MVP矩阵可以包括:Projection矩阵、Trans矩阵、View矩阵以及Model矩阵。例如,MVP矩阵=Projection矩阵*Trans矩阵*View矩阵*Model矩阵。
通过这种方式,MVP矩阵能够根据用户针对屏幕的滑动操作,不断地进行更新,从而图像处理设备能够根据用户针对屏幕的滑动,显示的不同视角下的全景图像。
在本申请实施例中,由于对第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像进行转换处理得到第一展开图像,基于第一展开图像的像素信息,确定全景图像,从而使得用户查看全景图像就可以获取摄像头周围的环境信息,进而使得用户能够便利地获取摄像头周围的大视角的环境信息;并且,由于基于第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和顶点的像素信息,基于顶点坐标和顶点的像素信息,确定全景图像,从而全景图像是通过顶点坐标和顶点的像素信息渲染得到的图像,进而能够清晰的显示摄像头周围的环境信息。
图2a为本申请实施例提供的另一种图像处理方法的流程示意图,如图2a所示,该方法应用于图像处理设备或者处理器,该方法包括:
S201、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
S202、确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系。
在一些实施例中,S202可以通过以下步骤A1至步骤A4的方式实现:
步骤A1、确定所述第一展开图像中多个像素点的坐标,与映射的第二球坐标系上多个像素点的坐标之间的第三转换关系。
第一展开图像为二维矩形图像。第二球坐标系上的像素点的坐标可以为:以第二球坐标系的原点为球心、半径为R2的球面上的点的坐标。第一展开图像中多个像素点可以与第二球坐标系上多个像素点一一对应。
在一些实施例中,可以预先设定第一展开图像的尺寸(像素尺寸),以及可以预先设定半径R2。将第一展开图像在高度方向上划分M等份,在长度方向上划分N等份,将划分得到的交点作为第一展开图像中多个像素点;将半径为R2的球面进行纬度划分M等份,经度划分N等份,将划分得到的交点作为第二球坐标系上多个像素点。
M和N的数值不作限定。M和N可以为大于或等于2的整数,N可以等于2×M,或者N可以等于M。
在一些实施例中,在垂直和水平两个方向上等分展开图,垂直方向(高度方向)划分成180份,水平方向(长度方向)划分成360份,将展开图坐标映射为球体世界坐标Pw=(xw,yw,zw)(即第二球坐标系上的像素点的坐标)。
其中,第一展开图像的像素点(i,j)对应的球体世界坐标Pw的计算方式如公式(1)至(5)所示,其中,i∈(0,width-1),j∈(0,height-1):
zw=R2*cosθ (5);
其中,width为第一展开图像的宽度,height为第一展开图像的高度,PI为π,R2为第二球坐标系的半径。
步骤A2、确定所述第二球坐标系上多个像素点的坐标,与映射的所述第一图像中多个像素点的坐标之间的第四转换关系。
第四转换关系可以基于第一摄像头的外参、内参以及畸变参数中的至少一者确定。
步骤A3、确定所述第二球坐标系上多个像素点的坐标,与映射的所述第二图像中多个像素点的坐标之间的第五转换关系。
第五转换关系可以基于第二摄像头的外参、内参以及畸变参数中的至少一者确定。第一图像和第二图像可以在同一个坐标系的不同位置上,或者,第一图像和第二图像可以在不同坐标系的相同位置或不同位置上。
第一图像中的多个像素点和第二图像中的多个像素点可以具有对应关系。例如,第一图像中的多个像素点在第一图像中的位置,与第二图像中的多个像素点在第二图像中的位置相同。例如,多个像素点可以在第一图像或第二图像中均匀分布。第一图像中的多个像素点的数量和/或位置,以及第二图像中的多个像素点的数量和/或位置,可以是预先配置的,或者,可以基于图像处理设备的计算性能和/或全景图像的显示参数灵活确定;显示参数可以包括以下至少之一:帧率、分辨率。示例性地,图像处理设备的计算性能越好和/或全景图像的显示参数越高的情况下,第一图像中的多个像素点的数量和第二图像中的多个像素点的数量可以越多,以能够确定更加准确的第四转换关系和第五转换关系。
以下说明第二球坐标系上多个像素点的坐标,与映射的第一图像和/或第二图像的多个像素点的坐标之间的转换关系(即上述的第四转换关系和/或第五转换关系)的确定方式:
使用相机初始外参(对应上述的第一摄像头的外参或第二摄像头的外参)将世界坐标系(即球体世界坐标Pw,即第二球坐标系上的像素点的坐标)转换到相机坐标系,得到坐标Pc;
基于Pn计算畸变后的坐标Pd(xd,yd),其中,下述的k1、k2、p1和p2是畸变参数,坐标Pd(xd,yd)基于下述公式(6)至(9)确定:
kr=1+k1r2+k2r4 (7);
使用相机内参(fx,fy,cx,cy),基于以下公式(10)获得鱼眼图坐标Pfisheye(即上述的第一图像和/或第二图像中多个像素点的坐标),利用相机内参将像平面的点转换到像素坐标系就得到了最终图像上的点。
这样,可以先确定所述第一展开图像中多个像素点的坐标,与映射的第二球坐标系上多个像素点的坐标之间的第三转换关系;然后,确定所述第二球坐标系上多个像素点的坐标,与映射的所述第一图像中多个像素点的坐标之间的第四转换关系,以及确定所述第二球坐标系上多个像素点的坐标,与映射的所述第二图像中多个像素点的坐标之间的第五转换关系,从而能够基于所述第三转换关系和所述第四转化关系,确定所述第一转换关系,以及基于所述第三转换关系和所述第五转换关系,确定所述第二转换关系,进而基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到所述第一展开图像。
步骤A4、基于所述第三转换关系和所述第四转化关系,确定所述第一转换关系,以及基于所述第三转换关系和所述第五转换关系,确定所述第二转换关系。
通过这种方式,由于基于第三转换关系和第四转化关系,确定第一转换关系,以及基于第三转换关系和第五转换关系,确定第二转换关系,从而能够将拍摄的第一图像和第二图像映射到第二球体坐标系上,以消除第一摄像和第二摄像头的外参、内参以及畸变参数对第一图像和第二图像拍摄的影响,以及,能够基于第二球体坐标系上映射的图像确定第一展开图像,从而能够使得第一展开图像能够准确地反映摄像头周围的真实场景。
S203、基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
在得到第一转换关系和第二转换关系的情况下,可以将第一图像和第二图像转换成第一展开图像。第一展开图像的特征是第一图像和第二图像的特征的合并。通过S203的步骤,可以将第一图像和第二图像这两张图像合并到一张图像(即第一展开图像中展示),从而用户在仅通过第一展开图像就可以确定摄像头周围的环境信息。
S204、基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息。
S205、基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
在本申请实施例中,由于基于第一图像的坐标与第一展开图像的坐标之间的第一转换关系,以及第二图像的坐标与第一展开图像的坐标之间的第二转换关系,得到第一展开图像,从而第一展开图像不仅具有第一图像的特征,还具有第二图像的特征,使得拼接得到的第一展开图像能够全面地反映出第一图像的特征和第二图像的特征。
图2b为本申请实施例提供的一种相机模型的示意图,图2b示出了坐标Pc、坐标Ps、坐标Pn这三个坐标之间的关系示意图,从图2b可以看出先将坐标Pc转换为坐标Ps,再将坐标Ps转换为坐标Pn。
图3为本申请实施例提供的又一种图像处理方法的流程示意图,如图3所示,该方法应用于图像处理设备或者处理器,该方法包括:
S301、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
S302、确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系。
S303、基于所述第一图像和所述第一转换关系,确定与所述第一图像对应的第一子展开图像。
S304、基于所述第二图像和所述第二转换关系,确定与所述第二图像对应的第二子展开图像。
第一子展开图像可以二维矩形图像,第二子展开图像可以是二维矩形图像。
在一些实施例中,第一子展开图像对应的拍摄区域和第二子展开图像对应的拍摄区域可以不具有重叠部分,在这种情况下,第一摄像头在拍摄第一图像对应的视场角,与第二摄像头在拍摄第二图像对应的视场角没有重叠。例如,第一摄像头和第二摄像头背对背设置,且第一摄像头和第二摄像头的视场角均小于或等于180度的情况下,或者,第一摄像头的光轴和第二摄像头的光轴之间的夹角为150度,且第一摄像头和第二摄像头的视场角均小于或等于150度的情况下,第一子展开图像对应的拍摄区域和第二子展开图像对应的拍摄区域不具有重叠部分,这样,可以对第一子展开图像和第二子展开图像进行拼接,以得到第一展开图像。
在另一些实施例中,第一子展开图像对应的拍摄区域和第二子展开图像对应的拍摄区域可以具有重叠部分,在这种情况下,第一摄像头在拍摄第一图像对应的视场角,与第二摄像头在拍摄第二图像对应的视场角部分重叠。例如,第一摄像头和第二摄像头背对背设置,且第一摄像头和第二摄像头的视场角均大于180度(例如,190度、200度或220度等)的情况下,第一子展开图像对应的拍摄区域和第二子展开图像对应的拍摄区域具有重叠部分,这样,可以对第一子展开图像和第二子展开图像进行融合和拼接,以得到第一展开图像。其中,对第一子展开图像和第二子展开图像进行融合和拼接,以得到第一展开图像的具体方法,可以参照下述S305至S306。
S305、对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域。
在一些实施例中,融合区域的像素尺寸可以与第一子展开图像、第二子展开图像的像素尺寸相同。
在一些实施例中,所述第一像素点对应在所述第二球坐标系中的像素点与所述第二球坐标系圆心的第一连线,与第二连线之间的夹角,大于或等于第一角度且小于或等于第二角度;所述第二连线为所述第一子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第二像素点对应在所述第二球坐标系中的像素点与所述圆心的第三连线,与第四连线之间的夹角,大于或等于所述第一角度且小于或等于所述第二角度;所述第四连线为所述第二子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第一角度为90度减去第三角度的值,所述第二角度为90度加上所述第三角度的值。
这样,第一连线与第二连线之间的夹角,或者,第三连线与第四连线之间的夹角,大于或等于90度减去第三角度的值且小于或等于90度加上所述第三角度的值。
在一些实施方式中,融合区域中第i个像素点的像素值,可以基于第一子展开图像中的第i个像素点的像素值,和第二子展开图像中的第i个像素点的像素值确定。第i个像素点在融合区域中的位置、第i个像素点在第一子展开图像中的位置以及第i个像素点在第二子展开图像中的位置相同或相应。i为大于或等于1的整数。
在一些实施方式中,可以确定加权系数,基于所述加权系数,对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到所述融合区域。示例性地,加权系数可以是固定值,或者,加权系数可以基于像素点位置的不同而不同。
通过这种方式,对第一子展开图像与第二子展开图像融合的像素点对应在第二球坐标系中的像素点,与第二球坐标系圆心的连线,与子展开图像的中心位置对应在第二球坐标系中的位置与圆心的连线之间的角度,大于或等于第一角度且小于或等于第二角度,从而能够对大于或等于第一角度且小于或等于第二角度所对应的像素点进行融合处理,减少了融合处理的像素点过多导致计算量过大,以及融合处理的像素点过少导致第一子展开图像与第二子展开图像之间过渡不自然的情况发生。
例如,S305可以包括:基于所述第一连线与所述第二连线之间的夹角、所述第三连线和所述第四连线之间的夹角,以及所述第二角度和所述第一角度中的一个,确定加权系数;基于所述加权系数,对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到所述融合区域。
在一些实施例中,加权系数k的计算方式可以为:k=(第二角度-gama)/(第三角度×2)。例如,第三角度为4的情况下,k=(94-gama)/8。其中,gama为第一连线与第二连线之间的夹角,或者,第三连线与第四连线之间的夹角。在另一些实施例中,加权系数k的计算方式可以为:k=(gama-第一角度)/(第三角度×2)。例如,第三角度为4的情况下,k=(gama-86)/8。
在一些实施例中,融合区域中第i个像素点的像素信息color的确定方式可以为:color=k×clolor1+(1.0-k)×color2。其中,clolor1为第一子展开图像的第一像素点(第i个像素点)的像素信息,clolor2为第二子展开图像的第一像素点(第i个像素点)的像素信息。
在一些实施方式中,由于采用的两个鱼眼摄像头分别拍摄的两个鱼眼图像(即上述的第一图像和第二图像)的可视角度大于180度,存在一定的重叠区域。双鱼眼图来自两个镜头拍摄,得到的两个鱼眼图像亮度上可能存在差异,可能会导致拼接缝上有一条明显的“缝”,因此本申请的一种实施方式在拼接处8度(根据经验值选取)范围内做像素融合处理。融合实现方法为:
第一步,计算球面点OP向量与负X轴夹角gama;其中,负X轴对应第一子展开图像的中心位置对应在第二球坐标系中的位置与圆心的连线。
第二步,确认夹角gama是否处于(86,94)范围内,如果不在范围内则无需融合处理,否则继续第三步。
第三步,计算加权系数k:k=(94-gama)/8。
第四步,利用上述方法计算球面点分别在两个鱼眼图上的像素信息,然后进行加权处理,融合区域中第i个像素点的像素信息color:color=k×clolor1+(1.0-k)×color2。
通过这种方式,由于基于第一连线与第二连线之间的夹角、第三连线和第四连线之间的夹角确定加权系数,再基于加权系数对第一像素点和第二像素点进行融合,从而融合区域是对第一像素点和第二像素点加权处理的结果,使得融合区域能够准确地反映真实的场景。
S306、对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像。
在一些实施例中,S306可以通过以下方式实现:对所述第一子展开图像的所述第三像素点、所述融合区域以及所述第二子展开图像的所述第四像素点进行拼接,得到第二展开图像;对所述第二展开图像进行平滑处理,得到所述第一展开图像。
在一些实施例中,对所述第二展开图像进行平滑处理,得到所述第一展开图像,可以包括:对所述第二展开图像中的非融合区域(即融合区域外的区域)进行平滑处理,得到所述第一展开图像。
在另一些实施例中,对所述第二展开图像进行平滑处理,得到所述第一展开图像,可以包括:对所述第二展开图像的整体进行平滑处理,得到所述第一展开图像。
在一些实施例中,可以采用线性差值(包括单线性差值或双线性插值)、邻域平均法、邻域加权平均法、中值滤波等方法对图像进行平滑处理。
示例性地,为了使得图像更加平滑,对于非融合处理区域,将进行插值处理。插值实现过程:计算出鱼眼图上的坐标(即第二展开图像的坐标)后,取鱼眼图坐标(即第二展开图像中的每个像素点)周围的4个像素点进行双线性插值,得出最终的像素值。
通过这种方式,通过对拼接得到的第二展开图像进行平滑处理,得到第一展开图像,从而能够消除第二展开图像中的锯齿,使得到的第一展开图像更加真实。
S307、基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息。
S308、基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
在本申请实施例中,由于先确定第一子展开图像和第二子展开图像,对第一子展开图像的第一像素点和第二子展开图像的第二像素点进行融合,得到融合区域,对第一子展开图像中第一像素点之外的第三像素点,融合区域以及第二子展开图像中第二像素点之外的第四像素点进行拼接,得到第一展开图像,从而能够对第一图像和第二图像中的重合部分进行融合,使得第一子展开图像与第二子展开图像之间能够平滑过渡,提高了第一展开图像的真实感。
图4a为本申请实施例提供的再一种图像处理方法的流程示意图,如图4a所示,该方法应用于图像处理设备或者处理器,该方法包括:
S401、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
S402、对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
S403、将所述第一展开图像中多个像素点映射在所述第一球坐标系上多个像素点的坐标,确定为所述顶点坐标。
第一展开图像中多个像素点可以是第一展开图像上均匀分布的像素点。在一些实施例中,可以将第一展开图像沿着宽度方向划分成S1个部分,沿着高度方向划分成S2个部分,S1和S2可以相同或不同,这样可以得到S1×S2个像素点的像素信息和坐标。例如,S1和S2可以均为80,这样可以得到80×80个像素点的像素信息和坐标。
在S403中,在得到第一展开图像中多个像素点的情况下,可以将第一展开图像中多个像素点映射到第一球坐标系上,从而得到顶点坐标。例如,将第一展开图像上的80×80个像素点的坐标映射在第一球体坐标系上,得到映射在所述第一球坐标系上的80×80个像素点的坐标(即顶点坐标)。
以下说明将所述第一展开图像中多个像素点映射在所述第一球坐标系上多个像素点的坐标(x,y,z)(即顶点坐标)的计算公式,如公式(11)至(15)所示:
θ=π/80×i;i∈[0,80)或者(0,80] (11);
φ=2×π/80×j;j∈[0,80)或者(0,80] (12);
y=R1×cosθ (14);
其中,i和j均为整数。R1为第一球坐标系的半径。在一些实施例中,公式(11)中的80可以用S1代替,公式(12)中的80可以用S2代替。
S404、确定所述第一展开图像中多个像素点的坐标,与映射的所述第一球坐标系上多个像素点的坐标之间的第六转换关系。
在一些实施例中,可以基于第一展开图中的坐标(width×j/80,width×i/8)和公式(6)至(10),确定第六转换关系。这样,第六转换关系可以是第一展开图中的坐标与第一球坐标系上多个像素点的坐标(x,y,z)之间的转换关系。
在另一些实施例中,可以基于旋转后的第一展开图的坐标(width×(1-j/80)),width×i/8)和公式(6)至(10),确定第六转换关系。这样,第六转换关系可以是旋转后的第一展开图的坐标与第一球坐标系上多个像素点的坐标(x,y,z)之间的转换关系。
S405、基于所述第一展开图像中多个像素点的像素信息和所述第六转换关系,确定所述顶点的像素信息。
在确定了第六转换关系之后,第一展开图像的每个像素点都可以找到与其对应的第一球坐标系的像素点,从而顶点的像素信息可以为第一球坐标系上多个像素点的像素信息,第一球坐标系上多个像素点的像素信息可以与第一展开图像中多个像素点的像素信息相同。
S406、基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
在本申请实施例中,通过将第一展开图像映射到第一球坐标系上,从而能够得到对应的第一球体坐标系上的顶点坐标和顶点的像素信息,且顶点坐标和顶点的像素信息能够全面的反映第一展开图像的特征,进而通过顶点坐标和顶点的像素信息渲染得到的全景图像,能够真实且全面地体现摄像头周围的环境信息。
图4b为本申请实施例提供的一种顶点的位置示意图,如图4b所示,可以使用“经纬分割法”分割第一球坐标系对应的球体,例如可以将球体沿着纬线方向分割成80份,同时沿着经线方向分成80份,经纬网上的所有交点即为球面的顶点(球面上的顶点的坐标即为顶点坐标)。纬线方向分割的每相邻两份按照如图4b所示的方式划分三角形,得到所有三角形顶点索引,在得到三角形顶点索引之后,可以基于三角形顶点索引确定三角形顶点的坐标和三角形顶点的像素信息,从而基于三角形顶点的坐标、三角形顶点的像素信息以及MVP矩阵,渲染得到全景图像。
图5为本申请另一实施例提供的一种图像处理方法的流程示意图,如图5所示,该方法应用于图像处理设备或者处理器,该方法包括:
S501、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
S502、对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
S503、基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息。
S504、响应于针对显示装置的滑动操作所生成的滑动指令,确定与所述滑动操作匹配的模型观察投影MVP矩阵。
在一些实施例中,S504可以包括:响应于针对显示装置的滑动操作所生成的滑动指令,确定与滑动指令对应的位移矩阵;基于所述与滑动指令对应的位移矩阵,确定与所述滑动操作匹配的MVP矩阵。
在一些实施例中,确定与滑动指令对应的位移矩阵,包括:确定与滑动指令对应的绕X轴旋转第一预设角度和绕Y轴旋转第二预设角度,基于第一预设角度和第二预设角度确定与滑动指令对应的位移矩阵。其中,X轴,Y轴可以在屏幕的表面上或者平行于屏幕的表面。
S505、基于所述顶点坐标、所述顶点的像素信息以及所述MVP矩阵,确定所述全景图像。
在本申请实施例中,由于MVP矩阵能够基于用户对显示装置的滑动操作确定,且基于MVP矩阵确定全景图像,从而能够基于用户的滑动操作而切换全景图像的显示视角,进而提高了用户切换全景图像的显示视角的便捷性。
图6为本申请又一实施例提供的一种图像处理方法的流程示意图,如图6所示,该方法应用于图像处理设备或者处理器,该方法包括:
S601、获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度。
S602、对所述第一图像和所述第二图像进行转换处理,得到第一展开图像。
S603、基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息。
S604、基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
S605、确定所述全景图像中的特定对象对应的三维网格模型。
在一些实施例中,可以预先定义至少一个设定对象,在确定全景图像的情况下,可以将全景图像中与至少一个设定对象的属性信息相同的对象确定为特定对象。设定对象的属性信息可以包括以下至少之一:名称、种类、型号等。例如,至少一个设定对象包括:苹果、梨和手机的情况下,全景图像在出现梨的情况下,可以将全景图像中的梨确定为特定对象。
在一些实施例中,可以响应于对全景图像中一个或多个对象进行触发的触发指令,确定触发的一个或多个对象为特定对象。
在一些实施例中,特定对象对应的三维网格模型可以是图像处理设备或处理器实时生成的。例如,图像处理设备可以基于全景图像中的特定对象的像素信息和/或轮廓信息,生成与特定对象的像素信息对应的三维网格模型。
在另一些实施例中,可以预设有至少一个三维网格模型库,从至少一个三维网格模型库中确定特定对象对应的三维网格模型。例如,确定特定对象的属性信息,基于特定对象的属性信息从至少一个三维网格模型库中确定特定对象对应的三维网格模型,在一些实施方式中,可以预先存储有至少一个三维网格模型库与对应的对象的属性信息之间的关系。
特定对象对应的三维网格模型可以与特定对象的尺寸相同或者不同。
S606、对所述三维网格模型进行渲染,得到渲染后的三维网格模型。
在一些实施例中,可以全景图像中特定对象的像素信息,对三维网格模型进行渲染。
S607、将所述渲染后的三维网格模型覆盖在所述全景图像中的特定对象上。
渲染后的三维网格模型可以以第一视角覆盖在所述全景图像中的特定对象上。在一些实施例中,第一视角可以为预设的视角(例如正视视角、仰视视角或俯视视角等)。在另一些实施例中,第一视角可以是与全景图像中特定对象的视角相同的视角。
在一些实施例中,用户可以对渲染后的三维网格模型进行平移和/或旋转操作,这样,图像处理设备可以响应于针对渲染后的三维网格模型进行平移操作所生成的平移指令和/或进行旋转操作所生成的旋转指令,基于该平移指令和/或旋转操作对三维网格模型进行平移和/或旋转。
在本申请实施例中,通过对特定对象对应的三维网格模型进行渲染,并将渲染后的三维网格模型覆盖在全景图像中的特定对象上,从而使得用户能够方便地了解特定对象的三维特征。
在本申请实施例中,通过获取第一图像和第二图像,基于第一图像和第二图像确定顶点坐标和所述顶点的像素信息,然后将顶点坐标和所述顶点的像素信息加载到图形处理器(Graphics Processing Unit,GPU)中。
通过捕获用户滑动手机屏幕的旋转量:先绕X轴旋转一定角度,更新物体坐标系,然后绕Y轴旋转一定角度,得到Trans矩阵。计算最终的MVP矩阵:MVP矩阵=Projection矩阵*Trans矩阵*View矩阵*Model矩阵。
最后,通过OpenGL接口加载MVP矩阵到GPU中。
GPU通过调用着色器程序,执行渲染。例如,着色器程序中包含了图像拼接展开代码实现、顶点变换和着色代码实现。GPU可以根据顶点坐标和顶点的像素信息,以及MVP矩阵,进行图像渲染,从而得到全景图像。
在本申请实施例中,采用双目鱼眼相机实时拍摄获得全景图像,在移动端使用OpenGL实时拼接和渲染图像。
在本申请实施例中,可以使用本方案对双鱼眼相机拍摄的图像进行实时预览、全景漫游;可以使用本方案辅助三维重建算法,验证MESH(网格)生成位置的正确性;可以使用本方案进行MESH叠加渲染,改善可视化效果。其中,MESH可以是模型图。例如,全景图是包括一个桌子,可以将桌子的3D模型图放到桌子的位置上。
本申请实施例还可以提供摄像头的标定方法:准备两块标定板,标定板可以为8×8的apriltag,标定板平行放置,鱼眼相机放置于两块标定板中间位置,使得两块标定板分别处于鱼眼相机cam0和cam1拍摄画面中。手持鱼眼相机设备做6-dof(6个自由度)运动,采集预览图像流,并获取惯性测量单元(Inertial Measurement Unit,IMU)参数,然后使用标定工具完成相机标定,得到相机内参、畸变参数、相机外参。
基于前述的实施例,本申请实施例提供一种图像处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过图像处理设备中的处理器来实现;当然也可通过具体的逻辑电路实现。
图7为本申请实施例提供的一种图像处理装置的组成结构示意图,如图7所示,图像处理装置700包括:
获取单元701,用于获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;
转换单元702,用于对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;
确定单元703,用于基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;
所述确定单元703,还用于基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
在一些实施例中,转换单元702,还用于:
确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系;
基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到所述第一展开图像。
在一些实施例中,转换单元702,还用于:
确定所述第一展开图像中多个像素点的坐标,与映射的第二球坐标系上多个像素点的坐标之间的第三转换关系;
确定所述第二球坐标系上多个像素点的坐标,与映射的所述第一图像中多个像素点的坐标之间的第四转换关系;
确定所述第二球坐标系上多个像素点的坐标,与映射的所述第二图像中多个像素点的坐标之间的第五转换关系;
基于所述第三转换关系和所述第四转化关系,确定所述第一转换关系,以及基于所述第三转换关系和所述第五转换关系,确定所述第二转换关系。
在一些实施例中,转换单元702,还用于:
基于所述第一图像和所述第一转换关系,确定与所述第一图像对应的第一子展开图像;
基于所述第二图像和所述第二转换关系,确定与所述第二图像对应的第二子展开图像;
对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域;
对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像。
在一些实施例中,所述第一像素点对应在所述第二球坐标系中的像素点与所述第二球坐标系圆心的第一连线,与第二连线之间的夹角,大于或等于第一角度且小于或等于第二角度;所述第二连线为所述第一子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第二像素点对应在所述第二球坐标系中的像素点与所述圆心的第三连线,与第四连线之间的夹角,大于或等于所述第一角度且小于或等于所述第二角度;所述第四连线为所述第二子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第一角度为90度减去第三角度的值,所述第二角度为90度加上所述第三角度的值。
在一些实施例中,转换单元702,还用于:
基于所述第一连线与所述第二连线之间的夹角、所述第三连线和所述第四连线之间的夹角,以及所述第二角度和所述第一角度中的一个,确定加权系数;
基于所述加权系数,对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到所述融合区域。
在一些实施例中,转换单元702,还用于:
对所述第一子展开图像的所述第三像素点、所述融合区域以及所述第二子展开图像的所述第四像素点进行拼接,得到第二展开图像;
对所述第二展开图像进行平滑处理,得到所述第一展开图像。
在一些实施例中,所述确定单元703,还用于:
将所述第一展开图像中多个像素点映射在所述第一球坐标系上多个像素点的坐标,确定为所述顶点坐标;
确定所述第一展开图像中多个像素点的坐标,与映射的所述第一球坐标系上多个像素点的坐标之间的第六转换关系;
基于所述第一展开图像中多个像素点的像素信息和所述第六转换关系,确定所述顶点的像素信息。
在一些实施例中,所述确定单元703,还用于:
响应于针对显示装置的滑动操作所生成的滑动指令,确定与所述滑动操作匹配的模型观察投影MVP矩阵;
基于所述顶点坐标、所述顶点的像素信息以及所述MVP矩阵,确定所述全景图像。
在一些实施例中,图像处理装置700还包括:覆盖单元704;所述覆盖单元用于:
确定所述全景图像中的特定对象对应的三维网格模型;
对所述三维网格模型进行渲染,得到渲染后的三维网格模型;
将所述渲染后的三维网格模型覆盖在所述全景图像中的特定对象上。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的图像处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台图像处理设备执行本申请各个实施例所述方法的全部或部分。
图8为本申请实施例提供的一种图像处理设备的硬件实体示意图,如图8所示,该图像处理设备800的硬件实体包括:处理器801和存储器802,其中,存储器802存储有可在处理器801上运行的计算机程序,处理器801执行程序时实现上述任一实施例的图像处理方法。
存储器802存储有可在处理器上运行的计算机程序,存储器802配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及图像处理设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
处理器801执行程序时实现上述任一项的图像处理方法的步骤。处理器801通常控制图像处理设备800的总体操作。
本申请实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一实施例的图像处理方法的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
上述图像处理装置或处理器可以包括以下任一个或多个的集成:特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(DigitalSignal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、图形处理器、嵌入式神经网络处理器(neural-network processing units,NPU)、控制器、微控制器、微处理器、可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本申请实施例”或“前述实施例”或“一些实施方式”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本申请实施例”或“前述实施例”或“一些实施方式”或“一些实施例”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在未做特殊说明的情况下,图像处理设备执行本申请实施例中的任一步骤,可以是图像处理设备的处理器执行该步骤。除非特殊说明,本申请实施例并不限定图像处理设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本申请实施例中的任一步骤是图像处理设备可以独立执行的,即图像处理设备执行上述实施例中的任一步骤时,可以不依赖于其它步骤的执行。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请实施例中,不同实施例中相同步骤和相同内容的说明,可以互相参照。在本申请实施例中,术语“并”不对步骤的先后顺序造成影响,例如,图像处理设备执行A,并执行B,可以是图像处理设备先执行A,再执行B,或者是图像处理设备先执行B,再执行A,或者是图像处理设备执行A的同时执行B。
值得注意的是,本申请实施例中的附图只是为了说明各个器件在图像处理设备上的示意位置,并不代表在图像处理设备中的真实位置,各器件或各个区域的真实位置可根据实际情况(例如,图像处理设备的结构)作出相应改变或偏移,并且,图中的图像处理设备中不同部分的比例并不代表真实的比例。
在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的各个实施例中,可以执行全部的步骤或者可以执行部分的步骤,只要能够形成一个完整的技术方案即可。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种图像处理方法,包括:
获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;
对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;
基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;
基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
2.根据权利要求1所述的方法,其中,所述对所述第一图像和所述第二图像进行转换处理,得到第一展开图像,包括:
确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系;
基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到所述第一展开图像。
3.根据权利要求2所述的方法,其中,所述确定所述第一图像的坐标与所述第一展开图像的坐标之间的第一转换关系,以及所述第二图像的坐标与所述第一展开图像的坐标之间的第二转换关系,包括:
确定所述第一展开图像中多个像素点的坐标,与映射的第二球坐标系上多个像素点的坐标之间的第三转换关系;
确定所述第二球坐标系上多个像素点的坐标,与映射的所述第一图像中多个像素点的坐标之间的第四转换关系;
确定所述第二球坐标系上多个像素点的坐标,与映射的所述第二图像中多个像素点的坐标之间的第五转换关系;
基于所述第三转换关系和所述第四转化关系,确定所述第一转换关系,以及基于所述第三转换关系和所述第五转换关系,确定所述第二转换关系。
4.根据权利要求2或3所述的方法,其中,所述基于所述第一转换关系和所述第二转换关系,对所述第一图像和所述第二图像进行转换处理,得到所述第一展开图像,包括:
基于所述第一图像和所述第一转换关系,确定与所述第一图像对应的第一子展开图像;
基于所述第二图像和所述第二转换关系,确定与所述第二图像对应的第二子展开图像;
对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域;
对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像。
5.根据权利要求4所述的方法,其中,所述第一像素点对应在所述第二球坐标系中的像素点与所述第二球坐标系圆心的第一连线,与第二连线之间的夹角,大于或等于第一角度且小于或等于第二角度;所述第二连线为所述第一子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第二像素点对应在所述第二球坐标系中的像素点与所述圆心的第三连线,与第四连线之间的夹角,大于或等于所述第一角度且小于或等于所述第二角度;所述第四连线为所述第二子展开图像的中心位置对应在所述第二球坐标系中的位置与所述圆心的连线;
所述第一角度为90度减去第三角度的值,所述第二角度为90度加上所述第三角度的值。
6.根据权利要求5所述的方法,其中,所述对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到融合区域,包括:
基于所述第一连线与所述第二连线之间的夹角、所述第三连线和所述第四连线之间的夹角,以及所述第二角度和所述第一角度中的一个,确定加权系数;
基于所述加权系数,对所述第一子展开图像的第一像素点和所述第二子展开图像的第二像素点进行融合,得到所述融合区域。
7.根据权利要求4至6任一项所述的方法,其中,所述对所述第一子展开图像中所述第一像素点之外的第三像素点,所述融合区域以及所述第二子展开图像中所述第二像素点之外的第四像素点进行拼接,得到所述第一展开图像,包括:
对所述第一子展开图像的所述第三像素点、所述融合区域以及所述第二子展开图像的所述第四像素点进行拼接,得到第二展开图像;
对所述第二展开图像进行平滑处理,得到所述第一展开图像。
8.根据权利要求1至7任一项所述的方法,其中,所述基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息,包括:
将所述第一展开图像中多个像素点映射在所述第一球坐标系上多个像素点的坐标,确定为所述顶点坐标;
确定所述第一展开图像中多个像素点的坐标,与映射的所述第一球坐标系上多个像素点的坐标之间的第六转换关系;
基于所述第一展开图像中多个像素点的像素信息和所述第六转换关系,确定所述顶点的像素信息。
9.根据权利要求1至8任一项所述的方法,其中,所述基于所述顶点坐标和所述顶点的像素信息,确定全景图像,包括:
响应于针对显示装置的滑动操作所生成的滑动指令,确定与所述滑动操作匹配的模型观察投影MVP矩阵;
基于所述顶点坐标、所述顶点的像素信息以及所述MVP矩阵,确定所述全景图像。
10.根据权利要求1至9任一项所述的方法,其中,所述基于所述顶点坐标和所述顶点的像素信息,确定全景图像之后,所述方法还包括:
确定所述全景图像中的特定对象对应的三维网格模型;
对所述三维网格模型进行渲染,得到渲染后的三维网格模型;
将所述渲染后的三维网格模型覆盖在所述全景图像中的特定对象上。
11.一种图像处理装置,包括:
获取单元,用于获取第一摄像头拍摄的第一图像和第二摄像头拍摄的第二图像;所述第一摄像头的光轴与所述第二摄像头的光轴之间的夹角为预设角度;
转换单元,用于对所述第一图像和所述第二图像进行转换处理,得到第一展开图像;
确定单元,用于基于所述第一展开图像的像素信息,确定在第一球坐标系上的顶点坐标和所述顶点的像素信息;
所述确定单元,还用于基于所述顶点坐标和所述顶点的像素信息,确定全景图像。
12.一种图像处理设备,包括:存储器和处理器,
所述存储器存储有可在所述处理器上运行的计算机程序,
所述处理器执行所述计算机程序时实现权利要求1至10任一项所述的图像处理方法。
13.一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至10任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110821.5A CN114511447A (zh) | 2022-01-29 | 2022-01-29 | 图像处理方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110821.5A CN114511447A (zh) | 2022-01-29 | 2022-01-29 | 图像处理方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114511447A true CN114511447A (zh) | 2022-05-17 |
Family
ID=81552530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210110821.5A Withdrawn CN114511447A (zh) | 2022-01-29 | 2022-01-29 | 图像处理方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114511447A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100026A (zh) * | 2022-06-15 | 2022-09-23 | 佳都科技集团股份有限公司 | 基于目标对象的标签坐标转换方法、装置、设备及存储介质 |
CN116823936A (zh) * | 2023-08-28 | 2023-09-29 | 智广海联(天津)大数据技术有限公司 | 一种利用相机屏幕标点获取经纬度的方法及系统 |
-
2022
- 2022-01-29 CN CN202210110821.5A patent/CN114511447A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100026A (zh) * | 2022-06-15 | 2022-09-23 | 佳都科技集团股份有限公司 | 基于目标对象的标签坐标转换方法、装置、设备及存储介质 |
CN115100026B (zh) * | 2022-06-15 | 2023-07-14 | 佳都科技集团股份有限公司 | 基于目标对象的标签坐标转换方法、装置、设备及存储介质 |
CN116823936A (zh) * | 2023-08-28 | 2023-09-29 | 智广海联(天津)大数据技术有限公司 | 一种利用相机屏幕标点获取经纬度的方法及系统 |
CN116823936B (zh) * | 2023-08-28 | 2023-11-24 | 智广海联(天津)大数据技术有限公司 | 一种利用相机屏幕标点获取经纬度的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857329B (zh) | 注视点计算方法、装置及设备 | |
CN113382168B (zh) | 用于存储成像数据的重叠区以产生优化拼接图像的设备及方法 | |
CN100485720C (zh) | 一种基于序列静态图像的360°环视全景生成方法 | |
JP6201476B2 (ja) | 自由視点画像撮像装置およびその方法 | |
US7570280B2 (en) | Image providing method and device | |
TWI387936B (zh) | A video conversion device, a recorded recording medium, a semiconductor integrated circuit, a fish-eye monitoring system, and an image conversion method | |
JP5676092B2 (ja) | パノラマ画像生成方法及びパノラマ画像生成プログラム | |
CN103839227B (zh) | 鱼眼图像校正方法和装置 | |
US20180018807A1 (en) | Method and apparatus for generating panoramic image with texture mapping | |
JP6672315B2 (ja) | 画像生成装置、及び画像表示制御装置 | |
KR101912396B1 (ko) | 가상 카메라 기반의 임의 시점 영상 생성 장치 및 방법 | |
CN110868541B (zh) | 视场融合方法及装置、存储介质、终端 | |
CN114143528B (zh) | 多视频流融合方法、电子设备、存储介质 | |
CN113643414B (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
US20030117675A1 (en) | Curved image conversion method and record medium where this method for converting curved image is recorded | |
CN114511447A (zh) | 图像处理方法、装置、设备及计算机存储介质 | |
CN114549289A (zh) | 图像处理方法、装置、电子设备和计算机存储介质 | |
US20090059018A1 (en) | Navigation assisted mosaic photography | |
JP5245963B2 (ja) | 画像変換装置 | |
CN114004890B (zh) | 姿态确定方法、装置、电子设备和存储介质 | |
JP6719596B2 (ja) | 画像生成装置、及び画像表示制御装置 | |
JP3387900B2 (ja) | 画像処理方法及び装置 | |
JP2005275789A (ja) | 三次元構造抽出方法 | |
WO2018150086A2 (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses | |
CN116724331A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220517 |