CN115082355B - 鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 - Google Patents
鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 Download PDFInfo
- Publication number
- CN115082355B CN115082355B CN202210850815.3A CN202210850815A CN115082355B CN 115082355 B CN115082355 B CN 115082355B CN 202210850815 A CN202210850815 A CN 202210850815A CN 115082355 B CN115082355 B CN 115082355B
- Authority
- CN
- China
- Prior art keywords
- boundary
- vertical
- horizontal
- line
- area
- 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 93
- 238000003702 image correction Methods 0.000 title claims abstract description 28
- 230000009466 transformation Effects 0.000 claims abstract description 37
- 230000003287 optical effect Effects 0.000 claims description 63
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000012937 correction Methods 0.000 abstract description 29
- 238000012545 processing Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 20
- 238000003384 imaging method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 102000012078 E2F2 Transcription Factor Human genes 0.000 description 4
- 108010036466 E2F2 Transcription Factor Proteins 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 102100032812 HIG1 domain family member 1A, mitochondrial Human genes 0.000 description 3
- 101001066429 Homo sapiens HIG1 domain family member 1A, mitochondrial Proteins 0.000 description 3
- 230000009471 action Effects 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
- 238000012634 optical imaging Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001310793 Podium Species 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质,属于图像处理技术领域,其中,所述方法包括:获取鱼眼相机拍摄的原始图像;基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像,其中,所述多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,所述水平区域原始图像为对应于所述物理世界中水平面区域的原始图像,所述垂直区域原始图像为对应于所述物理世界中垂直立面区域的原始图像;分别对每个所述分区图像进行透视变换;对透视变换后的分区图像进行图像拼接,生成所述原始图像对应的目标图像。本申请可以解决无法实现鱼眼相机全像素校正的技术问题,具有实现鱼眼相机全像素图像校正的效果。
Description
技术领域
本申请涉及图像处理的技术领域,尤其是涉及一种鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质。
背景技术
鱼眼相机的镜头是一种超广角镜头,它的前镜片直径很短且呈抛物状向镜头前部凸出,与鱼的眼睛相似,可以使镜头达到最大的摄影视角。
当采用鱼眼相机进行360度全景拍摄时,需要对拍摄图像进行全像素校正。目前,主要有以下三种图像校正算法:
1.张正友棋盘格相机标定相机内参校正法:它是基于相机内参的光学透镜成像原理实现的,主要是修正引起的光学透镜畸变,适用于中心点半径小于0.6~0.75的中心区域的鱼眼相机矫正;但是,越远离透镜中心,畸变越大(像素拉伸越严重),校正结果越不好,而且不能还原校正整个图像;
2.极坐标法:适用于环状图形或是对圆形外边沿的文字和图形校正,越靠近圆心,其校正结果越不好,而且中心区域会被分割;
3.经纬线法:需要选择极点作为图像的校正轴,靠近选择的极点附近的图像变形越大,而且不符合鱼眼的光学对称原理。
由此可见,上述图像校正算法均无法实现鱼眼相机的全像素校正。
发明内容
为了改善无法实现鱼眼相机全像素图像校正的问题,本申请提供一种鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质。
第一方面,本申请提供一种鱼眼相机全像素图像校正方法,采用如下的技术方案:
一种鱼眼相机全像素图像校正方法,包括:
获取鱼眼相机拍摄的原始图像;
基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像,其中,所述多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,所述水平区域原始图像为对应于所述物理世界中水平面区域的原始图像,所述垂直区域原始图像为对应于所述物理世界中垂直立面区域的原始图像;
分别对每个所述分区图像进行透视变换;
对透视变换后的分区图像进行图像拼接,生成所述原始图像对应的目标图像。
可选的,所述基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像包括:
提取所述原始图像中的有效圆形区域,并将所述有效圆形区域的圆心作为光学中心O;
采用三点圆弧拟合法确定所述水平区域原始图像位于所述有效圆形区域的m条边界圆弧曲线,其中,m≥2且m为正整数;
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则将除所述水平区域原始图像以外的有效圆形区域划分为所述垂直区域原始图像;和/或,
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且2<m≤4,则以所述光学中心O为起点、分别经过任意相邻的且不与所述有效圆形区域的边界线重合的边界圆弧曲线相交所呈的交点,生成m-2条第一边界射线,所述m-2条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为m-1个所述垂直区域原始图像;和/或,
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=4,则以所述光学中心O为起点、分别经过任意相邻的两条边界圆弧曲线相交所呈的交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像;和/或,
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定所述物理世界中四个相互正交的垂直面与所述有效圆形区域的边界线相交所呈的四个交点,以所述光学中心O为起点、分别经过所述四个交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像。
可选的,所述分别对每个所述分区图像进行透视变换包括:
对所述水平区域原始图像进行网格划分,生成多个第一原始网格单元;
对每个垂直区域原始图像进行网格划分,生成多个第二原始网格单元;
对水平区域目标图像进行网格划分,生成多个第一目标网格单元;
对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元;
基于所述第一原始网格单元、所述第二原始网格单元、所述第一目标网格单元和所述第二目标网格单元获取对应于同一空间区域的原始图像和目标图像的网格变换矩阵;
基于所述网格变换矩阵对所述原始图像进行透视变换;
其中,所述水平区域目标图像为对应于所述物理世界中水平面区域的目标图像,所述垂直区域目标图像为对应于所述物理世界中垂直立面区域的目标图像。
可选的,所述对所述水平区域原始图像进行网格划分,生成多个第一原始网格单元包括:
确定所述水平区域原始图像的水平中心线和垂直中心线;
基于所述水平中心线生成多条初始水平网格线;
基于所述垂直中心线生成多条初始垂直网格线;
将所述多条初始水平网格线与所述多条初始垂直网格线进行两两相交,生成多个初级网格点;
分别计算每个所述初级网格点的偏移值,生成多个第一原始网格点;
基于所述多个第一原始网格点生成多条第一原始水平网格线和多条第一原始垂直网格线;
基于所述多条第一原始水平网格线和所述多条第一原始垂直网格线生成所述多个第一原始网格单元。
可选的,所述确定所述水平区域原始图像的水平中心线和垂直中心线包括:
确定所述水平区域原始图像的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线;
确定所述水平区域原始图像的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线;
若所述上边界水平线与所述下边界水平线相交于点PH,则以所述点PH为起点、经过所述光学中心O,生成所述水平中心线;和/或,
若所述上边界水平线与所述下边界水平线不相交,则将经过所述光学中心O且平行于所述上边界水平线的直线作为所述水平中心线;
若所述左边界垂直线与所述右边界垂直线相交于点PV,则以所述点PV为起点、经过所述光学中心O,生成所述垂直中心线;和/或,
若所述左边界垂直线与所述右边界垂直线不相交,则将经过所述光学中心O且平行于所述左边界垂直线的直线作为所述垂直中心线。
可选的,所述确定所述水平面区域的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线包括:
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中平行于未与所述有效圆形区域的边界线重合的边界圆弧曲线的第一水平圆弧线,并将所述未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边作为所述上边界水平线,将所述第一水平圆弧线的弦边作为所述下边界水平线;采用三点圆弧拟合法确定所述物理世界的水平面区域中相互平行的两条第一垂直圆弧线,并将所述两条第一垂直圆弧线的弦边分别作为所述左边界垂直线和所述右边界垂直线;和/或,
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=3,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中分别平行于未与所述有效圆形区域的边界线重合的两条边界圆弧曲线的第一圆弧线,每条所述第一圆弧线的一端与所述有效圆形区域的边界线相交且另一端与对应平行的边界圆弧曲线相交;将其中一条未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边以及对应平行的第一圆弧线的弦边作为所述上边界水平线和所述下边界水平线,将另一条未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边以及对应平行的第一圆弧线的弦边作为所述左边界垂直线和所述右边界垂直线;和/或,
若m=4,则利用直线连接所述水平面区域中位于最上方的两个圆弧曲线交点,生成所述水平面区域的上边界水平线;利用直线连接所述水平面区域中位于最下方的两个圆弧曲线交点,生成所述水平面区域的下边界水平线;利用直线连接所述水平面区域中位于最左侧的两个圆弧曲线交点,生成所述水平面区域的左边界垂直线;利用直线连接所述水平面区域中位于最右侧的两个圆弧曲线交点,生成所述水平面区域的右边界垂直线;其中,所述圆弧曲线交点为相邻两个所述边界圆弧曲线之间的交点;和/或,
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中平行于第一主轴的两条第二水平圆弧线以及平行于第二主轴的两条第二垂直圆弧线,将所述两条第二水平圆弧线作为所述上边界水平线和所述下边界水平线,将所述两条第二垂直圆弧线的弦边作为所述左边界垂直线和所述右边界垂直线,其中,所述第一主轴和所述第二主轴相互垂直。
可选的,所述基于所述水平中心线生成多条初始水平网格线包括:
若所述上边界水平线与所述水平中心线相交于点PH,则对所述上边界水平线与所述水平中心线相交所呈的夹角进行角度等分,生成多条初始水平网格线;和/或,
若所述上边界水平线与所述水平中心线不相交,则在所述上边界水平线与所述水平中心线之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线;和/或,
若所述下边界水平线与所述水平中心线相交于点PH,则对所述下边界水平线与所述水平中心线相交所呈的夹角进行角度等分,生成多条初始水平网格线;和/或,
若所述下边界水平线与所述水平中心线不相交,则在所述下边界水平线与所述水平中心线之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线;和/或,
所述基于所述垂直中心线生成多条初始垂直网格线包括:
若所述左边界垂直线与所述垂直中心线相交于点PV,则对所述左边界垂直线与所述垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;和/或,
若所述左边界垂直线与所述垂直中心线不相交,则在所述左边界垂直线与所述垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线;和/或,
若所述右边界垂直线与所述垂直中心线相交于点PV,则对所述右边界垂直线与所述垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;和/或,
若所述右边界垂直线与所述垂直中心线不相交,则在所述右边界垂直线与所述垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线。
可选的,所述对每个垂直区域原始图像进行网格划分,生成多个第二原始网格单元包括:
若任一垂直区域原始图像包含两条第一边界射线,则将所述两条第一边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;
分别对所述两条第一边界射线和所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接相邻等分线段上同一等级的第一等分点,生成多条第二原始水平网格线;
所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元;和/或,
若任一垂直区域原始图像包含一条第一边界射线,则以所述光学中心O为起点、经过第一边界端点,生成第二边界射线,其中,所述第一边界端点为所述垂直区域原始图像中的两条与所述第一边界射线未重合的边界线的交点;
将所述第一边界射线与所述第二边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;
分别对所述第一边界射线和所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接所述第一边界端点以及相邻等分线段上同一等级的第一等分点,生成多条第二原始水平网格线;
所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元;和/或,
若任一垂直区域原始图像不包含第一边界射线,则以所述光学中心O为起点、分别经过两个第二边界端点,生成两条第三边界射线,其中,所述第二边界端点为所述垂直区域原始图像的边界线与所述有效圆形区域的边界线的交点;
将所述两条第三边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;
分别对所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接一第二边界端点、相邻等分线段上同一等级的第一等分点以及另一第二边界端点,生成多条第二原始水平网格线;
所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元。
可选的,所述对水平区域目标图像进行网格划分,生成多个第一目标网格单元包括:
基于所述水平中心线上各相邻第一原始网格点之间的距离比例关系以及所述目标图像的图像中心O'和尺寸,确定所述第一目标垂直网格线的横坐标,基于所述第一目标垂直网格线的横坐标生成多条第一目标垂直网格线;
基于所述垂直中心线上各相邻第一原始网格点之间的距离比例关系以及所述目标图像的图像中心O’和尺寸,确定所述第一目标水平网格线的纵坐标,基于所述第一目标水平网格线的纵坐标生成多条第一目标水平网格线;
所述多条第一目标垂直网格线与所述多条第一目标水平网格线两两相交,生成多个所述第一目标网格单元;
其中,所述第一目标水平网格线的数量与所述第一原始水平网格线的数量相同,所述第一目标垂直网格线的数量与所述第一原始垂直网格线的数量相同;所述第一目标水平网格线与所述第一目标垂直网格线相互垂直,各第一目标水平网格线之间相互平行,各第一目标垂直网格线之间相互平行。
可选的,若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则所述对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元包括:
在所述垂直区域目标图像中设置相互平行的多条第二目标水平网格线和相互平行的多条第二目标垂直网格线;所述多条第二目标水平网格线与所述多条第二目标垂直网格线两两相交,生成所述多个第二目标网格单元;
其中,第二目标水平网格线的数量与第二原始水平网格线的数量相同,第二目标垂直网格线的数量与第二原始垂直网格线的数量相同;所述第二目标水平网格线与所述第二目标垂直网格线相互垂直;相邻两条第二目标水平网格线之间的距离相等;每条第二目标水平网格线均平行于所述垂直区域目标图像的水平边界线,每条第二目标垂直网格线均平行于所述垂直区域目标图像的垂直边界线;和/或,
若m>2,则所述对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元包括:
确定所述水平区域目标图像中与所述水平区域原始图像中所有相邻边界圆弧曲线的交点对应的多个角点;
以所述目标图像的图像中心O'为起点、分别经过每个所述角点,生成多条第四边界射线;
对相邻两条所述第四边界射线相交所呈的夹角进行角度等分,生成多条第二目标垂直网格线;
从所述多条第四边界射线中选取被相邻两个垂直区域目标图像共用的第四边界射线,对选取的第四边界射线位于所述垂直区域目标图像中的线段进行等分,生成多个第二等分点;
将经过每个所述第二等分点且平行于所述目标图像的水平边界线的直线作为多条第二目标水平网格线;
所述多条第二目标垂直网格线与所述多条第二目标水平网格线两两相交,生成所述多个第二目标网格单元;
其中,所述水平边界线对应于对应的垂直区域原始图像中与所述有效圆形区域的边界线重合的圆弧线;所述图像中心O'为所述光学中心O;对于任一所述垂直区域目标图像,所述垂直区域目标图像中所述第二目标水平网格线的数量与对应的垂直区域原始图像中所述第二原始水平网格线的数量相同,所述垂直区域目标图像中所述第二目标垂直网格线的数量与对应的垂直区域原始图像中所述第二原始垂直网格线的数量相同。
可选的,在所述对透视变换后的分区图像进行图像拼接之前,还包括:
过滤透视变换后的分区图像中的畸变子图;
使过滤畸变子图的相邻的分区图像的边界对齐;
所述对透视变换后的分区图像进行图像拼接,生成所述原始图像的目标图像包括:
对边界对齐后的分区图像进行图像拼接,生成所述原始图像的目标图像。
第二方面,本申请提供一种鱼眼相机全像素图像校正装置,采用如下的技术方案:
一种鱼眼相机全像素图像校正装置,包括:
获取模块,用于获取鱼眼相机拍摄的原始图像;
划分模块,用于基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像,其中,所述多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,所述水平区域原始图像为对应于所述物理世界中水平面区域的原始图像,所述垂直区域原始图像为对应于所述物理世界中垂直立面区域的原始图像;
透视变换模块,用于分别对每个所述分区图像进行透视变换;
图像拼接模块,用于对透视变换后的分区图像进行图像拼接,生成所述原始图像对应的目标图像。
第三方面,本申请提供一种鱼眼相机,采用如下的技术方案:
一种鱼眼相机,包括存储器和处理器;所述存储器上存储有能够被所述处理器加载并执行第一方面任一项所述的方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的方法的计算机程序。
通过采用上述技术方案,基于场景的各主要划分平面的相对位置关系不变性(物理世界的一致性),对物理世界构建的不同三维空间进行畸变校正还原,同时保留了校正结果在光学成像近大远小的物理特性(中心向边缘过渡的各方向梯度一致性),实现了对360度鱼眼相机实现全像素提取和校正,可以有效消除360度鱼眼图像畸变带来的不同三维平面空间的视觉差异,特别适用于室内空间场景以及具有两个以上不同物理参考平面的室外空间场景的畸变校正,校正后的图像可用于对基于三维图像重建和匹配融合;此方法对根据二维鱼眼图像还原重构的三维视频融合场景有很好的应用效果,在实时视频实景孪生领域也有很广泛的应用前景。
附图说明
图1是本申请实施例的鱼眼相机全像素图像校正方法的流程示意图。
图2是本申请实施例的原始图像中有效圆形区域和外接矩形的关系示意图。
图3a是本申请实施例的具有一个垂直立面区域的原始图像中水平区域原始图像的网格划分示意图。
图3b是本申请实施例的具有一个垂直立面区域的原始图像中垂直区域原始图像的网格划分示意图。
图3c是本申请实施例的具有一个垂直立面区域的原始图像对应的目标图像的网格划分示意图。
图4a是本申请实施例的具有两个垂直立面区域的原始图像中水平区域原始图像的网格划分示意图。
图4b是本申请实施例的具有两个垂直立面区域的原始图像中垂直区域原始图像的网格划分示意图。
图4c是本申请实施例的具有两个垂直立面区域的原始图像对应的目标图像的网格划分示意图。
图5a是本申请实施例的具有三个垂直立面区域的原始图像中水平区域原始图像的网格划分示意图。
图5b是本申请实施例的具有三个垂直立面区域的原始图像中垂直区域原始图像的网格划分示意图。
图5c是本申请实施例的具有三个垂直立面区域的原始图像对应的目标图像的网格划分示意图。
图6a是本申请实施例的具有四个垂直立面区域的原始图像中水平区域原始图像的网格划分示意图。
图6b是本申请实施例的具有四个垂直立面区域的原始图像中垂直区域原始图像的网格划分示意图。
图6c是本申请实施例的具有四个垂直立面区域的原始图像对应的目标图像的网格划分示意图。
图7a是本申请实施例的具有五个垂直立面区域的原始图像中垂直区域原始图像的网格划分示意图。
图7b是本申请实施例的具有五个垂直立面区域的原始图像中水平区域原始图像的网格划分示意图。
图8是本申请实施例的步骤S300的子步骤的流程示意图。
图9是本申请实施例的步骤S301的子步骤的流程示意图。
图10是本申请实施例的鱼眼相机全像素图像校正装置的结构框图。
图11是本申请实施例的鱼眼相机的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本实施例提供的一种鱼眼相机全像素图像校正方法的流程示意图。如图1所示,该方法的主要流程描述如下(步骤S100~S400):
步骤S100,获取鱼眼相机拍摄的原始图像;
如图2所示,鱼眼相机拍摄的原始图像ABCD的四周一般存在黑色区域,即无像素值区域,再对原始图像ABCD进行校正前,需要先将中间的有效圆形区域即有像素值区域提取出来,确定光学中心O和半径R。
可选的,通过边界扫描逼近法扫描原始图像的有效圆形区域,生成外接矩形abcd。有效圆形区域包含所有图像信息的区域,而外接矩形abcd的四条边均与有效圆形区域相切。
具体的,从上下左右四个方向分别逼近有效圆形区域,可以得到四个主要方向的切线。以从左到右扫描为例,对每一列上的像素统计最大值和最小值,当最大值与最小值的差值大于预设阈值时,说明扫描到了图像的最左边边界。对其他三个方向如此操作,可获得另外三个边界,由这四个边界即可获取有效圆形区域的圆心坐标和半径。
若外接矩形abcd是正方形,则说明有效圆形区域不是残缺圆,而是满圆,此时将外接矩形的均质中心作为光学中心O,并将均质中心到外接矩形abcd的任意一条边的中心点的距离作为有效圆形区域的半径R。
若外接矩形abcd不是正方形,则说明有效圆形区域不是满圆,此时采样原始图像的有效圆形区域上任意三点的坐标,代入圆曲线方程,求解得到光学中心O坐标和半径R。
步骤S200,基于物理世界与图像世界的对应关系将原始图像划分为多个分区图像,其中,多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,水平区域原始图像为对应于物理世界中水平面区域的原始图像,垂直区域原始图像为对应于物理世界中垂直立面区域的原始图像;
本实施例中,基于三维物理世界主平面结构的二维图像的区域划分(含水平面区域和垂直立面区域)。水平面和垂直立面是构建三维世界的基础,这些主结构平面框架的存在是人眼观察和认知世界的基本参考;而在二维图像上将这些结构面分区划分和区分处理,为基于二维图像还原重建三维数字世界提供了可靠的结构化数据基础;校正还原时,考虑了每个立面的空间相互关系,还保持与物理世界的一致性,这是其它很多校正方法如全景校正法和经纬网格校正法所不具备的。
其中,可以采用三点圆弧拟合法确定其位于有效圆形区域的m条边界圆弧曲线,m条边界圆弧曲线合围而成的图像区域即为水平区域原始图像,其中,m≥2且m为正整数。
由于拍摄角度、拍摄场地等因素的影响,鱼眼相机360度拍摄的原始图像所包含的垂直区域原始图像的数量可能会不同。m的数值以及m条边界圆弧曲线与有效圆形区域的边界线是否存在重合关系,决定了垂直区域原始图像的数量。下面进行举例说明。
若m条边界圆弧曲线包含与有效圆形区域的边界线重合的边界圆弧曲线且m=2,则说明原始图像具有一个垂直立面区域,此时将除水平区域原始图像以外的有效圆形区域划分为垂直区域原始图像。
如图3a所示,边界圆弧曲线A1E1B1将有效圆形区域分割为两个分区图像,一个是由边界圆弧曲线A1E1B1与边界圆弧曲线A1C1B1所合围而成的水平区域原始图像,另一个则是垂直区域原始图像。
若m条边界圆弧曲线包含与有效圆形区域的边界线重合的边界圆弧曲线且2<m≤4,则说明原始图像具有两个或三个垂直立面区域,此时以光学中心O为起点、分别经过任意相邻的且不与有效圆形区域的边界线重合的边界圆弧曲线相交所呈的交点,生成m-2条第一边界射线,m-2条第一边界射线将除水平区域原始图像以外的有效圆形区域划分为m-1个垂直区域原始图像。
图4a示出了具有两个垂直立面区域的原始图像的区域划分示意图。如图4a所示,边界圆弧曲线A2E2B2、边界圆弧曲线A2C2和边界圆弧曲线B2C2共同合围而成的图像区域即为水平区域原始图像。边界圆弧曲线A2C2和边界圆弧曲线B2C2均不与有效圆形区域的边界线重合,以光学中心O为起点、经过二者的交点C2生成第一边界射线OC2,第一边界射线OC2与有效圆形区域的边界线相交于点D2,因此,边界圆弧曲线A2C2、直线C2D2和圆弧A2D2共同合围而成的区域图像为一个垂直区域原始图像,而边界圆弧曲线B2C2、直线C2D2和圆弧B2D2共同合围而成的区域图像为另一个垂直区域原始图像。
图5a示出了具有三个垂直立面区域的原始图像的区域划分示意图。如图5a所示,边界圆弧曲线A3M3B3、边界圆弧曲线A3C3、边界圆弧曲线C3D3和边界圆弧曲线B3C3共同合围而成的图像区域即为水平区域原始图像。边界圆弧曲线A3C3、边界圆弧曲线C3D3和边界圆弧曲线B3C3均不与有效圆形区域的边界线重合,以光学中心O为起点、分别经过交点C3和交点D3,生成第一边界射线OC3和OD3,与有效圆形区域的边界线分别相交于点E3和点F3。因此,边界圆弧曲线A3C3、直线C3E3和圆弧A3E3共同合围而成的区域图像为一个垂直区域原始图像,边界圆弧曲线B3D3、直线D3F3和圆弧B3F3共同合围而成的区域图像为一个垂直区域原始图像, 边界圆弧曲线C3D3、直线C3E3、直线D3F3和圆弧E3F3共同合围而成的区域图像为一个垂直区域原始图像。
若m条边界圆弧曲线不包含与有效圆形区域的边界线重合的边界圆弧曲线且m=4,则说明原始图像具有四个垂直立面区域,此时以光学中心O为起点、分别经过任意相邻的两条边界圆弧曲线相交所呈的交点,生成四条第一边界射线,四条第一边界射线将除水平区域原始图像以外的有效圆形区域划分为四个垂直区域原始图像。
如图6a所示,边界圆弧曲线A4B4、边界圆弧曲线B4C4、边界圆弧曲线C4D4和边界圆弧曲线A4D4共同合围而成的图像区域即为水平区域原始图像。边界圆弧曲线A4B4、B4C4、C4D4和A4D4均不与有效圆形区域的边界线重合,以光学中心O为起点、分别经过交点A4、B4、C4和D4,生成四条第一边界射线OA4、OB4、OC4和OD4,与有效圆形区域的边界线分别相交于点E4、F4、G4和H4,因此,构成了四个垂直区域原始图像A4D4H4E4、A4B4F4E4、B4C4G4F4和C4G4H4D4。
若m条边界圆弧曲线不包含与有效圆形区域的边界线重合的边界圆弧曲线且m>4,则说明原始图像具有五个及以上垂直立面区域。对于具有五个以上垂直立面区域的原始图像,在划分垂直区域原始图像时,可以将其转换为具有四条均不与有效圆形区域的边界线重合的边界圆弧曲线的情况。
具体的,采用三点圆弧拟合法确定物理世界中四个相互正交的垂直面与有效圆形区域的边界线相交所呈的四个交点,以光学中心O为起点、分别经过四个交点,生成四条第一边界射线,四条第一边界射线将除水平区域原始图像以外的有效圆形区域划分为四个垂直区域原始图像。
下面以具有五个垂直立面区域的原始图像为例,对垂直区域原始图像的划分进行具体说明。
如图7a所示,边界圆弧曲线A5B5、边界圆弧曲线B5C5、边界圆弧曲线C5D5、边界圆弧曲线D5E5和边界圆弧曲线A5E5共同合围而成的图像区域即为水平区域原始图像。点J5、K5、L5和M5为通过三点圆弧拟合法确定的物理世界中四个相互正交的垂直面与有效圆形区域的边界线的交点,以光学中心O为起点、分别经过交点J5、K5、L5和M5,生成四条第一边界射线OJ5、OK5、OL5和OM5,与有效圆形区域的边界线分别相交于点J5、K5、L5和M5,因此,构成了四个垂直区域原始图像F5G5K5J5、G5H5L5K5、I5H5L5M5和F5I5M5J5。
步骤S300,分别对每个分区图像进行透视变换;
具体的,如图8所示,可以通过以下步骤实现对每个分区图像的透视变换:
步骤S301,对水平区域原始图像进行网格划分,生成多个第一原始网格单元;
步骤S302,对每个垂直区域原始图像进行网格划分,生成多个第二原始网格单元;
步骤S303,对水平区域目标图像进行网格划分,生成多个第一目标网格单元,其中,水平区域目标图像为对应于物理世界中水平面区域的目标图像;
步骤S304,对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元,其中,垂直区域目标图像为对应于物理世界中垂直立面区域的目标图像;
步骤S305,基于第一原始网格单元、第二原始网格单元、第一目标网格单元和第二目标网格单元获取对应于同一空间区域的原始图像和目标图像的网格变换矩阵;
本实施例中,第一原始网格单元、第二原始网格单元、第一目标网格单元和第二目标网格单元均由两条相邻的水平网格线和两条相邻的垂直网格线相交组成,均包含四个网格点。
以第一原始网格单元为例,通过多条第一原始水平网格线和多条第一原始垂直网格线对水平区域原始图像进行划分,得到多个第一原始网格点。相邻两条第一原始水平网格线和相邻两条第一原始垂直网格线构成一第一原始网格单元,第一原始网格单元包括四个第一原始网格点。
同理,第一目标网格单元也同样包括四个第一目标网格点,第一目标网格点与第一原始网格点一一对应,根据一一对应关系可以获取水平区域原始图像与水平区域目标图像的网格变换矩阵。
第二原始网格单元也同样包括四个第二原始网格点,第二目标网格单元也同样包括四个第二目标网格点,第二目标网格点与第二原始网格点一一对应,根据一一对应关系可以获取垂直区域原始图像与垂直区域目标图像的网格变换矩阵。
步骤S306,基于网格变换矩阵对原始图像进行透视变换。
步骤S306中,基于水平区域原始图像与水平区域目标图像的网格变换矩阵,对水平区域原始图像进行透视变换,可以根据第一原始网格单元的像素点获取对应的第一目标网格单元的像素点。同理,也可以根据第二原始网格单元的像素点获取对应的第二目标网格单元的像素点。
需要说明的是,步骤S301与步骤S302之间没有先后执行顺序,即步骤S301可以在步骤S302之前执行(如图8所示),也可以在步骤S302之后执行,还可以与步骤S302同时执行,对此本实施例不做具体限定。而步骤S303和步骤S304需要在步骤S301和步骤S302均执行结束后再执行,且,步骤S303需要步骤S304之前执行。
步骤S400,对透视变换后的分区图像进行图像拼接,生成原始图像对应的目标图像。
本实施例中,通过掩码区域拷贝合拼,可以将经过透视变换后的各分区图像拼接成最终的目标图像。其中,对水平区域目标图像的四条边界线进行掩码标记,基于给定算法对边界掩码标记的像素进行插值计算和边界优化,给定算法包括但不限于相邻边界算法、双线性插值算法、双三次插值算法、兰索斯插值算法。
一些实施例中,如图9所示,对于步骤S301,可以包括以下子步骤:
步骤S3011,确定水平区域原始图像的水平中心线和垂直中心线;
首先确定水平区域原始图像的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线。不同的m的具体数值以及m条边界圆弧曲线与有效圆形区域的边界线是否存在重合关系,同样也对如何确定上边界水平线、下边界水平线、左边界垂直线和右边界垂直线产生影响。下面进行举例说明。
如图3a所示,若m条边界圆弧曲线包含与有效圆形区域的边界线重合的边界圆弧曲线A1E1B1且m=2,则采用三点圆弧拟合法确定边界圆弧曲线A1E1B1的第一水平圆弧线C1D1,并将未与有效圆形区域的边界线重合的边界圆弧曲线A1E1B1的弦边A1B1作为上边界水平线,将第一水平圆弧线C1D1的弦边作为下边界水平线;采用三点圆弧拟合法确定物理世界的水平面区域中相互平行的两条第一垂直圆弧线E1F1和HIG1,并将第一垂直圆弧线E1F1的弦边E1F1作为左边界垂直线,将第一垂直圆弧线HIG1的弦边HIG1作为右边界垂直线。
如图4a所示,若m条边界圆弧曲线包含与有效圆形区域的边界线重合的边界圆弧曲线A2E2B2且m=3,则采用三点圆弧拟合法确定在物理世界的水平面区域中平行于未与有效圆形区域的边界线重合的边界圆弧曲线A2C2的第一圆弧线H2G2,以及确定在物理世界的水平面区域中平行于未与有效圆形区域的边界线重合的边界圆弧曲线B2C2的第一圆弧线E2F2,边界圆弧曲线A2C2与第一圆弧线E2F2相交于点F2,边界圆弧曲线B2C2与第一圆弧线H2G2相交于点G2。此时,将边界圆弧曲线B2C2的弦边B2C2、第一圆弧线E2F2的弦边E2F2、边界圆弧曲线A2C2的弦边H2G2以及第一圆弧线H2G2的弦边H2G2依次作为上边界水平线、下边界水平线、左边界垂直线和右边界垂直线。
如图5a所示,若m条边界圆弧曲线包含与有效圆形区域的边界线重合的边界圆弧曲线A3M3B3且m=4,则利用直线连接水平面区域中位于最上方的两个圆弧曲线交点C3和D3,生成上边界水平线;利用直线连接水平面区域中位于最下方的两个圆弧曲线交点A3和B3,生成下边界水平线;利用直线连接水平面区域中位于最左侧的两个圆弧曲线交点A3和C3,生成左边界垂直线;利用直线连接水平面区域中位于最右侧的两个圆弧曲线交点B3和D3,生成右边界垂直线。
如图6a所示,若m条边界圆弧曲线不包含与有效圆形区域的边界线重合的边界圆弧曲线且m=4,则利用直线连接水平面区域中位于最上方的两个圆弧曲线交点A4和B4,生成上边界水平线;利用直线连接水平面区域中位于最下方的两个圆弧曲线交点C4和D4,生成下边界水平线;利用直线连接水平面区域中位于最左侧的两个圆弧曲线交点A4和D4,生成左边界垂直线;利用直线连接水平面区域中位于最右侧的两个圆弧曲线交点B4和C4,生成右边界垂直线。
如图7b所示,若m条边界圆弧曲线不包含与有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定在物理世界的水平面区域中平行于第一主轴的两条第二水平圆弧线R5S5和U5T5,以及平行于第二主轴的两条第二垂直圆弧线N5Q5和O5P5,将第二水平圆弧线R5S5和U5T5的弦边作为上边界水平线、下边界水平线,将第二垂直圆弧线N5Q5和O5P5的弦边作为左边界垂直线和右边界垂直线。其中,第一主轴与第二主轴相互垂直。例如,第一主轴可以为地理空间上的南北方向轴、第二主轴可以为地理空间上的东西方向轴,对此本实施例不做具体限定。
在确定好上边界水平线、下边界水平线、左边界垂直线和右边界垂直线之后,需要根据上边界水平线与下边界水平线是否相交来确定水平中心线,以及根据左边界垂直线和右边界垂直线是否相交来确定垂直中心线。
可选的,如图3a、图4a、图6a所示,若上边界水平线与下边界水平线相交于点PH,则以点PH为起点、经过光学中心O,生成水平中心线OPH;如图5a、图7b所示,若上边界水平线与下边界水平线不相交,则将经过光学中心O且平行于上边界水平线的直线作为水平中心线。
垂直中心线的确定方法与水平中心线的确定方法类似。如图4a、图5a、图6a所示,若左边界垂直线与右边界垂直线相交于点PV,则以点PV为起点、经过光学中心O,生成垂直中心线OPV;如图3a、图7b所示,若左边界垂直线与右边界垂直线不相交,则将经过光学中心O且平行于左边界垂直线的直线作为垂直中心线。
步骤S3012,基于水平中心线生成多条初始水平网格线;
步骤S3012中,需要以水平中心线为基准,将上边界水平线和下边界水平线之间的区域分成两部分,来分别生成初始水平网格线。
具体的,如图3a所示,若上边界水平线A1B1与水平中心线OPH相交于点PH,则对上边界水平线A1B1与水平中心线OPH相交所呈的夹角进行角度等分,生成多条初始水平网格线;如图5a所示,若上边界水平线C3D3与水平中心线I3J3不相交,则在上边界水平线C3D3与水平中心线I3J3之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线。
需要注意的是,为使图简洁、清楚,图3a中在上边界水平线A1B1与水平中心线OPH之间仅示出一条初始水平网格线,图5a中在上边界水平线C3D3与水平中心线I3J3之间仅示出一条初始水平网格线。
如图3a所示,若下边界水平线C1D1与水平中心线OPH相交于点PH,则对下边界水平线C1D1与水平中心线OPH相交所呈的夹角进行角度等分,生成两条初始水平网格线;如图5a所示,若下边界水平线A3B3与水平中心线I3J3不相交,则在下边界水平线C1D1与水平中心线OPH之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线。
需要注意的是,为使图简洁、清楚,图3a中在下边界水平线C1D1与水平中心线OPH之间仅示出两条初始水平网格线,图5a中在下边界水平线A3B3与水平中心线I3J3之间仅示出一条初始水平网格线。
因此,上边界水平线与水平中心线之间的初始水平网格线以及下边界水平线与水平中心线之间的初始水平网格线共同构成整个水平区域原始图像的初始水平网格线。
步骤S3013,基于垂直中心线生成多条初始垂直网格线;
步骤S3013中,初始垂直网格线的生成方法与初始水平网格线的生成方法的原理相同,需要以垂直中心线为基准,将左边界垂直线和右边界垂直线之间的区域分成两部分,来分别生成初始垂直网格线。
若左边界垂直线与垂直中心线相交于点PV,则对左边界垂直线与垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;若左边界垂直线与垂直中心线不相交,则在左边界垂直线与垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线。
若右边界垂直线与垂直中心线相交于点PV,则对右边界垂直线与垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;若右边界垂直线与垂直中心线不相交,则在右边界垂直线与垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线。
由于初始垂直网格线的生成方法与初始水平网格线的生成方法的原理相同,因此,为了说明书简洁,不再结合附图对上述初始垂直网格线的生成方法进行具体阐述。
因此,左边界垂直线与垂直中心线之间的初始水平网格线以及右边界垂直线与垂直中心线之间的初始垂直网格线共同构成整个水平区域原始图像的初始垂直网格线。
需要说明的是,上边界水平线、下边界水平线和水平中心线也属于初始水平网格线,左边界垂直线、右边界垂直线和垂直中心线也属于初始垂直网格线,因此,上边界水平线、下边界水平线和水平中心线与所有初始垂直网格线的交点也为初级网格点,左边界垂直线、右边界垂直线和垂直中心线与所有初始水平网格线的交点也为初级网格点。
另外,对于具有两个垂直立面区域的原始图像,其水平区域原始图像中的初始垂直网格线和初始水平网格线还包括两条第二圆弧线的弦边。 如图4a所示,连接点PH与点A2,其延长线与有效圆形区域的边界线相交于点I2,点I2落在点H2与点E2之间,圆弧线A2I2、圆弧线B2I2即为两条第二圆弧线,其弦边A2I2为初始水平网格线,其弦边B2I2为初始垂直网格线。
步骤S3014,将多条初始水平网格线与多条初始垂直网格线进行两两相交,生成多个初级网格点;
步骤S3015,分别计算每个初级网格点的偏移值,生成多个第一原始网格点;
本实施例中,考虑到光学透镜成像特点,越远离光学中心,图像的畸变越大,因此,可采用梯度偏移法对多个初级网格点进行校正纠偏。
如图5a所示,在获取多个初级网格点(见图5a中的实心圆点)后,基于梯度偏移法对所有的初级网格点的偏移值进行计算,并根据计算得到的偏移值对每个初级网格点在水平区域原始图像上进行偏移,得到第一原始网格点(见图5a中的空心圆点)。然后再利用直线连接任意相邻的两个第一原始网格点,可以得到多个呈四边形的第一原始网格单元,每个第一原始网格单元均包括四个第一原始网格点。
需要注意的是,水平中心线上的初级网格点偏移后产生的第一原始网格点还在水平中心线上;垂直中心线上的初级网格点偏移后产生的第一原始网格点还在垂直网格线上。而上边界水平线上的初级网格点偏移后产生的第一原始网格点则位于上边界水平线对应的圆弧线上,同理可知下边界水平线、左边界垂直线、右边界垂直线、第二圆弧线的弦边上的初级网格点的偏移情况,此处不再赘述。光学中心O为水平中心线和垂直中心线的交点,属于特殊的初级网格点,其不进行偏移,即第一原始网格点与初级网格点重合。
另外,为使附图简洁、清楚,图4a、图6a、图7b仅示出了初始水平网格线、初始垂直网格线相交所呈的初级网格点,而省略了对初级网格点进行偏移所得到的第一原始网格点以及第一原始网格单元。
需要说明的是,步骤S3012与步骤S3013之间没有先后执行顺序,即步骤S3012可以在步骤S3013之前执行(如图9所示),也可以在步骤S3013之后执行,还可以与步骤S3013同时执行,对此本实施例不做具体限定。
步骤S3016,基于多个第一原始网格点生成多条第一原始水平网格线和多条第一原始垂直网格线;
步骤S3017,基于多条第一原始水平网格线和多条第一原始垂直网格线生成多个第一原始网格单元。
连接任意相邻两个第一原始网格点,会生成多条第一原始水平网格线和多条第一原始垂直网格线,每相邻两条第一原始水平网格线和每相邻两条第一原始垂直网格线构成一第一原始网格单元,每个第一原始网格单元呈四边形且包含四个第一原始网格点。
本实施例中,对于水平面区域的网格划分,主要遵照和依据的是相互平行的物理地面水平和垂直网格规划线,二维图像拟合是基于物理空间的水平线和垂直网格线为基准的;其中,二维图像的水平中心轴线和垂直中心轴的构建线,也符合图像的光学中心成像原理、中心线不变原理;网格骨架的划分也符合光学透视成像原理,所有的圆弧弦边透视交于一点或全部水平。
一些实施例中,对于步骤S302,根据垂直区域原始图像的形状不同,其网格划分的方法也不同。
如图5b所示,垂直区域原始图像C3D3F3E3的形状为类扇环形,其由第一边界射线OE3、第一边界射线OF3、弧线C3D3和弧线E3F3合围而成。将两条第一边界射线OE3和OF3相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;对第一边界射线OE3位于垂直区域原始图像C3D3F3E3的线段C3E3进行M等分,对第一边界射线OF3位于垂直区域原始图像C3D3F3E3的线段D3F3进行M等分,并对多条第二原始垂直网格线位于垂直区域原始图像C3D3F3E3的线段进行M等分,生成多个第一等分点。以第二原始垂直网格线OL3为例,第二原始垂直网格线OL3位于垂直区域原始图像C3D3F3E3的部分为线段K3L3,对线段K3L3进行M等分。
依次连接相邻等分线段上同一等级的第一等分点,生成多条第二原始水平网格线。图5b中的第一等分点a3、b3、c3、d3和e3属于同一等级,以第一等分点a3、b3、c3、d3和e3为例,利用直线连接a3和b3、b3和c3、c3和d3、d3和e3,可以生成四条第二原始水平网格线。最后,多条第二原始垂直网格线与多条第二原始水平网格线两两相交,生成多个第二原始网格单元。
需要注意的是,为使图简洁、清楚,图5b中垂直区域原始图像C3D3F3E3仅示出三条初始垂直网格线,M设置为3。
如图4b所示,垂直区域原始图像A2C2D2的形状为类牛角形,其由一条第一边界射线OC2、弧线A2C2和弧线A2D2合围而成。以光学中心O为起点、经过第一边界端点A2,生成第二边界射线OA2,将第一边界射线OC2与第二边界射线OA2相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线。
再分别对第一边界射线OC2和多条第二原始垂直网格线位于垂直区域原始图像的线段进行相同等分,生成多个第一等分点,其中,线段等分方式可参考前述线段D3F3,对此本实施例不再详述。
依次连接第一边界端点A2以及相邻等分线段上同一等级的第一等分点a2、b2、c2、d2,生成多条第二原始水平网格线;多条第二原始垂直网格线与多条第二原始水平网格线两两相交,生成多个第二原始网格单元。
如图3b所示,垂直区域原始图像A1I1B1J1的形状为类月形,其由弧线A1J1B1和弧线A1I1B1合围而成。以光学中心O为起点、分别经过第二边界端点A1和B1,生成第三边界射线OA1和OB1,将两条第三边界射线OA1和OB1相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线。再分别对多条第二原始垂直网格线位于垂直区域原始图像的线段进行相同等分,生成多个第一等分点。其中,线段等分方式可参考前述线段D3F3的线段等分方式,对此本实施例不再详述。
依次连接第二边界端点A1、相邻等分线段上同一等级的第一等分点a1、b1、c1、d1、e1以及第二边界端点B1,生成多条第二原始水平网格线;多条第二原始垂直网格线与多条第二原始水平网格线两两相交,生成多个第二原始网格单元。
需要说明的是,本实施例中的角度等分数量、间距等分数量越多,计算像素越准,但计算量也越大,因此,一般可设置16到32等分。并且,对于同一原始图像,如果其包含多个垂直区域原始图像,不同垂直区域原始图像的角度等分、间距等分数量可以相同,也可以不相同,对此本实施例不做具体限定。
另外,多条第二原始垂直网格线与多条第二原始水平网格线两两相交,其交点即为第二原始网格点,且,第二原始垂直网格线、第二原始水平网格线与垂直区域原始图像的边界线的交点也属于第二原始网格点。
本实施例中,对于垂直立面的网格划分,一方面考虑光学成像的中心辐射方向的成像一致性,来划分垂直面的径向垂直网格线方向,同时也考虑了2个立面边界处保持一致性和径向比例一致性原则,保持了成像的距离光学中心越近成像越大的特点;同时径向的水平网格线划分也符合透视旋边交汇于一点的透视成像原理。这样既保存每个垂直立面的全部像素校正还原,同时也保持了成像的透镜中心成像越大、远离中心物体成像越小的光学成像特点,这是其它校正法无法实现的。例如光学内参校正法,远离中心,目标校正还原比原始图像变大;又例如极坐标法,靠近光学外边缘弧一圈的物体成像才保持与原图像比例基本不变性,但越靠近光学中心的物体被整体放大拉伸,中心的一个像素点被拉伸为与光学外圆一圈相同数量像素的一条边点,就更不能体现校正物理世界物体的比例关系和透视成像特点。
一些实施例中,对于步骤S303,每个第一目标网格单元均包括四个第一目标网格点,水平区域目标图像为矩形。为了获取水平区域目标图像中的第一目标网格点的坐标,需要基于水平中心线上各相邻第一原始网格点之间的距离比例关系以及目标图像的图像中心O'和尺寸,确定第一目标垂直网格线的横坐标;并基于垂直中心线上各相邻第一原始网格点之间的距离比例关系以及目标图像的图像中心O’和尺寸,确定第一目标水平网格线的纵坐标。并且,第一目标水平网格线的数量与第一原始水平网格线的数量相同,第一目标垂直网格线的数量与第一原始垂直网格线的数量相同。第一目标水平网格线与第一目标垂直网格线相互垂直,各第一目标水平网格线相互平行,各第一目标垂直网格线之间相互平行。
本实施例中,目标图像的图像中心O'即为光学中心O。目标图像为矩形,图像中心O'为矩形的中心,其长n、宽m为预设尺寸。
下面以具有三个垂直立面区域的原始图像为例,对水平区域目标图像的网格划分进行具体说明。
如图5a所示,水平中心线I3J3上的五个第一原始网格点之间的距离比例为n1:n2:n3:n4,垂直中心线M3N3上的五个第一原始网格点之间的距离比例为m1:m2:m3:m4。
如图5c所示,水平区域目标图像A3'B3'D3'C3'为矩形,其两条垂直边也属于第一目标垂直网格线,其两条水平边也属于第一目标水平网格线。五条第一目标垂直网格线的横坐标值依次为0、x1、x2、x3、x4,设置x1:(x2-x1):(x3-x2):(x4-x3)=n1:n2:n3:n4;五条第一目标水平网格线的纵坐标值依次为0、y1、y2、y3、y4,设置y1:(y2-y1):(y3-y2):(y4-y3)=m1:m2:m3:m4。
然后,根据图像中心O'的坐标和m、n的值计算上述横坐标值和纵坐标值,其中,|(x4-x2):y2|=n:m。根据横坐标值和纵坐标值确定多条第一目标垂直网格线和多条第一目标水平网格线,多条第一目标垂直网格线与多条第一目标水平网格线两两相交,其交点为第一目标网格点,生成多个第一目标网格单元。第一目标网格单元为矩形且包含四个第一目标网格点。
一些实施例中,对于步骤S304,根据垂直立面区域的数量不同,可以有以下两种对垂直区域目标图像网格划分的方式:
对于具有一个垂直立面区域的原始图像,垂直区域目标图像为矩形,且垂直区域目标图像的两条水平边界线也属于第二目标水平网格线,两条垂直边界线也属于第二目标垂直网格线。第二目标水平网格线的数量与第二原始水平网格线的数量相同,第二目标垂直网格线的数量与第二原始垂直网格线的数量相同。第二目标水平网格线与第二目标垂直网格线相互垂直,各第二目标水平网格线相互平行,各第二目标垂直网格线之间相互平行;相邻两条第二目标水平网格线之间的距离相等。
如图3b所示,第二原始垂直网格线与边界圆弧曲线A1J1B1的交点之间的距离比例为k1:k2:k3:k4:k5:k6。
如图3c所示,水平区域目标图像A1'B1'N1'M1'和垂直区域目标图像A1'B1'Q1'P1'均为矩形,且上下设置,它们的长度相等,均为x8。所有第二目标水平网格线均平行于水平边界线A1'B1',所有第二目标垂直网格线均平行于垂直边界线A1'P1'。五条第二目标垂直网格线与水平边界线的各交点之间的距离依次为p1、p2、p3、p4、p5、p6,p1:p2:p3:p4:p5:p6= k1:k2:k3:k4:k5:k6。相邻两条第二目标水平网格线之间的距离依次为q1、q2、q3,且q1=q2=q3。
下面以三个垂直立面为例,对具有两个及以上垂直立面区域的原始图像对应的垂直区域目标图像的网格划分方法进行具体说明。
如图5b、图5c所示,确定水平区域目标图像A3'B3'D3'C3'中与水平区域原始图像A3B3D3C3中所有相邻边界圆弧曲线的交点A3、B3、D3、C3依次对应的角点A3'、B3'、D3'、C3'。以光学中心O作为目标图像的图像中心O’,以图像中心O'为起点、分别经过角点A3'、B3'、D3'、C3',生成四条第四边界射线O'A3'、O'B3'、O'D3'、O'C3'。
然后,对相邻两条第四边界射线相交所呈的夹角A3'O'C3'、C3'O'D3'、B3'O'D3'进行角度等分,生成多条第二目标垂直网格线;从四条第四边界射线中选取被相邻两个垂直区域目标图像共用的第四边界射线O'D3'、O'C3'。
以垂直区域目标图像A3'C3'E3'A3”为例,将选取的第四边界曲线O'C3'位于垂直区域目标图像A3'C3'E3'A3”中的线段C3'E3'、D3'F3'进行等分,生成多个第二等分点;将经过每个第二等分点且平行于水平区域目标图像A3'B3'D3'C3'的边界线A3'B3'的直线作为多条第二目标水平网格线;多条第二目标垂直网格线与多条第二目标水平网格线两两相交,生成多个第二目标网格点(见图5c中的空心圆点),相邻两个第二目标网格点相连,构成多个第二目标网格单元。
垂直区域目标图像A3'C3'E3'A3”中第二目标水平网格线的数量与对应的垂直区域原始图像A3C3E3中第二原始水平网格线的数量相同,垂直区域目标图像A3'C3'E3'A3”中第二目标垂直网格线的数量与对应的垂直区域原始图像A3C3E3中第二原始垂直网格线的数量相同。
需要说明的是,图5c中的点A3'~L3'与图5b中的点A3~L3一一对应。
如图4c所示,对于具有两个垂直立面区域的原始图像对应的垂直区域目标图像的网格划分,可以参照图5c中的垂直区域目标图像A3'C3'E3'A3”的网格划分方法,具体不再赘述。
为使附图简洁清楚,图5c、图6b、图6c、图7a中仅示出了部分垂直区域原始图像、垂直区域目标图像的网格线划分,其划分方法可参考上述对垂直区域原始图像、垂直区域目标图像的网格线划分方法。
本实施例中,既考虑了三维物理世界在二维成像的各平面之间的空间关系的整体一致性,又考虑了局部三维空间平面,还原了二维图像时对与透镜造成的畸变校正,是宏观与微观的统一。同时还将原始成像的全像素包含进来,这是现有图像校正算法如鱼眼畸变校正(基于相机内参光学校正)所不能达到的效果,而且畸变校正的效果也是现有如经纬网格校正法、极坐标校正法所无法比拟的。该方法集成了局部平面符合光学透视成像和径向成像畸变校正的特点,同时宏观上,又保存了大的空间结构平面之间的位置关系统一的特点。
一些实施例中,在对透视变换后的分区图像进行图像拼接之前,还需要过滤透视变换后的分区图像中的畸变子图,再使过滤畸变子图的相邻的分区图像的边界对齐。
本实施例中,目标网格单元一般为矩形或四边形,因此,对于每个目标网格单元,可以生成该目标网格单元的掩码,对该目标网格单元进行掩码图像拷贝,过滤掉不属于该目标网格单元的像素点。
对于水平区域目标图像与垂直区域目标图像的相邻边界,为了保证数据精度,相同的网格点最好使用相同的共享资源,即是用相同的内存单元。相邻两个垂直区域目标图像的边界差分点数量必须保持一致,相同位置的差分点最好使用相同的内存单元。
图10为本申请实施例提供的一种鱼眼相机全像素图像校正装置500的结构框图。如图10所示,该鱼眼相机全像素图像校正装置500主要包括:
获取模块501,用于获取鱼眼相机拍摄的原始图像;
划分模块502,用于基于物理世界与图像世界的对应关系将原始图像划分为多个分区图像,其中,多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,水平区域原始图像为对应于物理世界中水平面区域的原始图像,垂直区域原始图像为对应于物理世界中垂直立面区域的原始图像;
透视变换模块503,用于分别对每个分区图像进行透视变换;
图像拼接模块504,用于对透视变换后的分区图像进行图像拼接,生成原始图像对应的目标图像。
本申请实施例中的各功能模块可以集成在一起形成一个独立的单元,例如集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成形成一个独立的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器或者网络设备等) 或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的方法中的各种变化方式和具体实例同样适用于本实施例提供的一种鱼眼相机全像素图像校正装置,通过前述对鱼眼相机全像素图像校正方法的详细描述,本领域技术人员可以清楚的知道本实施例中的鱼眼相机全像素图像校正装置的实施方法,为了说明书的简洁,在此不再详述。
图11为本申请实施例提供的一种鱼眼相机600的结构框图。如图11所示,鱼眼相机600包括存储器601、处理器602、通信总线603、通信接口604、鱼眼镜头605;存储器601、处理器602、通信接口604通过通信总603线相连。
鱼眼镜头605与通信接口604连接,用于采集原始图像。
存储器601可用于存储指令、程序、代码、代码集或指令集。存储器601可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的鱼眼相机全像素图像校正方法的指令等;存储数据区可存储上述实施例提供的鱼眼相机全像素图像校正方法中涉及到的数据等。
处理器602可以包括一个或者多个处理核心。处理器602通过运行或执行存储在存储器601内的指令、程序、代码集或指令集,调用存储在存储器601内的数据,执行本申请的各种功能和处理数据。处理器602可以为特定用途集成电路(Application SpecificIntegrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器602功能的电子器件还可以为其它,本申请实施例不作具体限定。
通信总线603可包括一通路,在上述组件之间传送信息。通信总线603可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。且图11示出的鱼眼相机仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上述实施例提供的鱼眼相机全像素图像校正方法的计算机程序。
本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、U盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、讲台随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。
本实施例中的计算机程序包含用于执行图1所示的方法的程序代码,程序代码可包括对应执行上述实施例提供的方法步骤对应的指令。计算机程序可从计算机可读存储介质下载到各个计算/处理设备,或者通过网络(例如因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。计算机程序可完全地在用户计算机上执行、作为一个独立的软件包执行。
在本申请所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,需要理解的是,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种鱼眼相机全像素图像校正方法,其特征在于,包括:
获取鱼眼相机拍摄的原始图像;
基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像,其中,所述多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,所述水平区域原始图像为对应于所述物理世界中水平面区域的原始图像,所述垂直区域原始图像为对应于所述物理世界中垂直立面区域的原始图像;
分别对每个所述分区图像进行透视变换;
对透视变换后的分区图像进行图像拼接,生成所述原始图像对应的目标图像;
所述基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像包括:
提取所述原始图像中的有效圆形区域,并将所述有效圆形区域的圆心作为光学中心O;
采用三点圆弧拟合法确定所述水平区域原始图像位于所述有效圆形区域的m条边界圆弧曲线,其中,m≥2且m为正整数;
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则将除所述水平区域原始图像以外的有效圆形区域划分为所述垂直区域原始图像;
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且2<m≤4,则以所述光学中心O为起点、分别经过任意相邻的且不与所述有效圆形区域的边界线重合的边界圆弧曲线相交所呈的交点,生成m-2条第一边界射线,所述m-2条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为m-1个所述垂直区域原始图像;
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=4,则以所述光学中心O为起点、分别经过任意相邻的两条边界圆弧曲线相交所呈的交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像;
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定所述物理世界中四个相互正交的垂直面与所述有效圆形区域的边界线相交所呈的四个交点,以所述光学中心O为起点、分别经过所述四个交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像。
2.根据权利要求1所述的方法,其特征在于,所述分别对每个所述分区图像进行透视变换包括:
对所述水平区域原始图像进行网格划分,生成多个第一原始网格单元;
对每个垂直区域原始图像进行网格划分,生成多个第二原始网格单元;
对水平区域目标图像进行网格划分,生成多个第一目标网格单元;
对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元;
基于所述第一原始网格单元、所述第二原始网格单元、所述第一目标网格单元和所述第二目标网格单元获取对应于同一空间区域的原始图像和目标图像的网格变换矩阵;
基于所述网格变换矩阵对所述原始图像进行透视变换;
其中,所述水平区域目标图像为对应于所述物理世界中水平面区域的目标图像,所述垂直区域目标图像为对应于所述物理世界中垂直立面区域的目标图像。
3.根据权利要求2所述的方法,其特征在于,所述对所述水平区域原始图像进行网格划分,生成多个第一原始网格单元包括:
确定所述水平区域原始图像的水平中心线和垂直中心线;
基于所述水平中心线生成多条初始水平网格线;
基于所述垂直中心线生成多条初始垂直网格线;
将所述多条初始水平网格线与所述多条初始垂直网格线进行两两相交,生成多个初级网格点;
分别计算每个所述初级网格点的偏移值,生成多个第一原始网格点;
基于所述多个第一原始网格点生成多条第一原始水平网格线和多条第一原始垂直网格线;
基于所述多条第一原始水平网格线和所述多条第一原始垂直网格线生成所述多个第一原始网格单元。
4.根据权利要求3所述的方法,其特征在于,所述确定所述水平区域原始图像的水平中心线和垂直中心线包括:
确定所述水平区域原始图像的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线;
若所述上边界水平线与所述下边界水平线相交于点PH,则以所述点PH为起点、经过所述光学中心O,生成所述水平中心线;
若所述上边界水平线与所述下边界水平线不相交,则将经过所述光学中心O且平行于所述上边界水平线的直线作为所述水平中心线;
若所述左边界垂直线与所述右边界垂直线相交于点PV,则以所述点PV为起点、经过所述光学中心O,生成所述垂直中心线;
若所述左边界垂直线与所述右边界垂直线不相交,则将经过所述光学中心O且平行于所述左边界垂直线的直线作为所述垂直中心线。
5.根据权利要求4所述的方法,其特征在于,所述确定所述水平面区域的上边界水平线、下边界水平线、左边界垂直线和右边界垂直线包括:
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中平行于未与所述有效圆形区域的边界线重合的边界圆弧曲线的第一水平圆弧线,并将所述未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边作为所述上边界水平线,将所述第一水平圆弧线的弦边作为所述下边界水平线;采用三点圆弧拟合法确定所述物理世界的水平面区域中相互平行的两条第一垂直圆弧线,并将所述两条第一垂直圆弧线的弦边分别作为所述左边界垂直线和所述右边界垂直线;
若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=3,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中分别平行于未与所述有效圆形区域的边界线重合的两条边界圆弧曲线的第一圆弧线,每条所述第一圆弧线的一端与所述有效圆形区域的边界线相交且另一端与对应平行的边界圆弧曲线相交;将其中一条未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边以及对应平行的第一圆弧线的弦边作为所述上边界水平线和所述下边界水平线,将另一条未与所述有效圆形区域的边界线重合的边界圆弧曲线的弦边以及对应平行的第一圆弧线的弦边作为所述左边界垂直线和所述右边界垂直线;
若m=4,则利用直线连接所述水平面区域中位于最上方的两个圆弧曲线交点,生成所述水平面区域的上边界水平线;利用直线连接所述水平面区域中位于最下方的两个圆弧曲线交点,生成所述水平面区域的下边界水平线;利用直线连接所述水平面区域中位于最左侧的两个圆弧曲线交点,生成所述水平面区域的左边界垂直线;利用直线连接所述水平面区域中位于最右侧的两个圆弧曲线交点,生成所述水平面区域的右边界垂直线;其中,所述圆弧曲线交点为相邻两个所述边界圆弧曲线之间的交点;
若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定在所述物理世界的水平面区域中平行于第一主轴的两条第二水平圆弧线以及平行于第二主轴的两条第二垂直圆弧线,将所述两条第二水平圆弧线作为所述上边界水平线和所述下边界水平线,将所述两条第二垂直圆弧线的弦边作为所述左边界垂直线和所述右边界垂直线,其中,所述第一主轴和所述第二主轴相互垂直。
6.根据权利要求4或者5所述的方法,其特征在于,所述基于所述水平中心线生成多条初始水平网格线包括:
若所述上边界水平线与所述水平中心线相交于点PH,则对所述上边界水平线与所述水平中心线相交所呈的夹角进行角度等分,生成多条初始水平网格线;
若所述上边界水平线与所述水平中心线不相交,则在所述上边界水平线与所述水平中心线之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线;
若所述下边界水平线与所述水平中心线相交于点PH,则对所述下边界水平线与所述水平中心线相交所呈的夹角进行角度等分,生成多条初始水平网格线;
若所述下边界水平线与所述水平中心线不相交,则在所述下边界水平线与所述水平中心线之间的垂直方向上设置等间距的平行线,生成多条初始水平网格线;
所述基于所述垂直中心线生成多条初始垂直网格线包括:
若所述左边界垂直线与所述垂直中心线相交于点PV,则对所述左边界垂直线与所述垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;
若所述左边界垂直线与所述垂直中心线不相交,则在所述左边界垂直线与所述垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线;
若所述右边界垂直线与所述垂直中心线相交于点PV,则对所述右边界垂直线与所述垂直中心线相交所呈的夹角进行角度等分,生成多条初始垂直网格线;
若所述右边界垂直线与所述垂直中心线不相交,则在所述右边界垂直线与所述垂直中心线之间的垂直方向上设置等间距的平行线,生成多条初始垂直网格线。
7.根据权利要求2至5任一项所述的方法,其特征在于,所述对每个垂直区域原始图像进行网格划分,生成多个第二原始网格单元包括:
若任一垂直区域原始图像包含两条第一边界射线,则将所述两条第一边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;分别对所述两条第一边界射线和所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接相邻等分线段上同一等级的第一等分点,生成多条第二原始水平网格线;所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元;
若任一垂直区域原始图像包含一条第一边界射线,则以所述光学中心O为起点、经过第一边界端点,生成第二边界射线,其中,所述第一边界端点为所述垂直区域原始图像中的两条与所述第一边界射线未重合的边界线的交点;将所述第一边界射线与所述第二边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;分别对所述第一边界射线和所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接所述第一边界端点以及相邻等分线段上同一等级的第一等分点,生成多条第二原始水平网格线;所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元;
若任一垂直区域原始图像不包含第一边界射线,则以所述光学中心O为起点、分别经过两个第二边界端点,生成两条第三边界射线,其中,所述第二边界端点为所述垂直区域原始图像的边界线与所述有效圆形区域的边界线的交点;将所述两条第三边界射线相交所呈的夹角进行角度等分,生成多条第二原始垂直网格线;分别对所述多条第二原始垂直网格线位于所述垂直区域原始图像的线段进行相同等分,生成多个第一等分点,依次连接一第二边界端点、相邻等分线段上同一等级的第一等分点以及另一第二边界端点,生成多条第二原始水平网格线;
所述多条第二原始垂直网格线与所述多条第二原始水平网格线两两相交,生成多个所述第二原始网格单元。
8.根据权利要求7所述的方法,其特征在于,若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则所述对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元包括:
在所述垂直区域目标图像中设置相互平行的多条第二目标水平网格线和相互平行的多条第二目标垂直网格线;所述多条第二目标水平网格线与所述多条第二目标垂直网格线两两相交,生成所述多个第二目标网格单元;
其中,第二目标水平网格线的数量与第二原始水平网格线的数量相同,第二目标垂直网格线的数量与第二原始垂直网格线的数量相同;所述第二目标水平网格线与所述第二目标垂直网格线相互垂直;相邻两条第二目标水平网格线之间的距离相等;每条第二目标水平网格线均平行于所述垂直区域目标图像的水平边界线,每条第二目标垂直网格线均平行于所述垂直区域目标图像的垂直边界线;
若m>2,则所述对每个垂直区域目标图像进行网格划分,生成多个第二目标网格单元包括:
确定所述水平区域目标图像中与所述水平区域原始图像中所有相邻边界圆弧曲线的交点对应的多个角点;
以所述目标图像的图像中心O'为起点、分别经过每个所述角点,生成多条第四边界射线;
对相邻两条所述第四边界射线相交所呈的夹角进行角度等分,生成多条第二目标垂直网格线;
从所述多条第四边界射线中选取被相邻两个垂直区域目标图像共用的第四边界射线,对选取的第四边界射线位于所述垂直区域目标图像中的线段进行等分,生成多个第二等分点;
将经过每个所述第二等分点且平行于所述目标图像的水平边界线的直线作为多条第二目标水平网格线;
所述多条第二目标垂直网格线与所述多条第二目标水平网格线两两相交,生成所述多个第二目标网格单元;
其中,所述图像中心O'为所述光学中心O;对于任一所述垂直区域目标图像,所述垂直区域目标图像中所述第二目标水平网格线的数量与对应的垂直区域原始图像中所述第二原始水平网格线的数量相同,所述垂直区域目标图像中所述第二目标垂直网格线的数量与对应的垂直区域原始图像中所述第二原始垂直网格线的数量相同。
9.根据权利要求3至5任一项所述的方法,其特征在于,所述对水平区域目标图像进行网格划分,生成多个第一目标网格单元包括:
基于所述水平中心线上各相邻第一原始网格点之间的距离比例关系以及所述目标图像的图像中心O'和尺寸,确定所述第一目标垂直网格线的横坐标,基于所述第一目标垂直网格线的横坐标生成多条第一目标垂直网格线;
基于所述垂直中心线上各相邻第一原始网格点之间的距离比例关系以及所述目标图像的图像中心O’和尺寸,确定所述第一目标水平网格线的纵坐标,基于所述第一目标水平网格线的纵坐标生成多条第一目标水平网格线;
所述多条第一目标垂直网格线与所述多条第一目标水平网格线两两相交,生成多个所述第一目标网格单元;
其中,所述第一目标水平网格线的数量与所述第一原始水平网格线的数量相同,所述第一目标垂直网格线的数量与所述第一原始垂直网格线的数量相同;所述第一目标水平网格线与所述第一目标垂直网格线相互垂直,各第一目标水平网格线之间相互平行,各第一目标垂直网格线之间相互平行。
10.根据权利要求1至5任一项所述的方法,其特征在于,在所述对透视变换后的分区图像进行图像拼接之前,还包括:
过滤透视变换后的分区图像中的畸变子图;
使过滤畸变子图的相邻的分区图像的边界对齐;
所述对透视变换后的分区图像进行图像拼接,生成所述原始图像的目标图像包括:
对边界对齐后的分区图像进行图像拼接,生成所述原始图像的目标图像。
11.一种鱼眼相机全像素图像校正装置,其特征在于,包括:
获取模块,用于获取鱼眼相机拍摄的原始图像;
划分模块,用于基于物理世界与图像世界的对应关系将所述原始图像划分为多个分区图像,其中,所述多个分区图像包括一水平区域原始图像以及至少一个垂直区域原始图像,所述水平区域原始图像为对应于所述物理世界中水平面区域的原始图像,所述垂直区域原始图像为对应于所述物理世界中垂直立面区域的原始图像;
透视变换模块,用于分别对每个所述分区图像进行透视变换;
图像拼接模块,用于对透视变换后的分区图像进行图像拼接,生成所述原始图像对应的目标图像;
所述划分模块,具体用于提取所述原始图像中的有效圆形区域,并将所述有效圆形区域的圆心作为光学中心O;采用三点圆弧拟合法确定所述水平区域原始图像位于所述有效圆形区域的m条边界圆弧曲线,其中,m≥2且m为正整数;若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=2,则将除所述水平区域原始图像以外的有效圆形区域划分为所述垂直区域原始图像;若所述m条边界圆弧曲线包含与所述有效圆形区域的边界线重合的边界圆弧曲线且2<m≤4,则以所述光学中心O为起点、分别经过任意相邻的且不与所述有效圆形区域的边界线重合的边界圆弧曲线相交所呈的交点,生成m-2条第一边界射线,所述m-2条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为m-1个所述垂直区域原始图像;若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m=4,则以所述光学中心O为起点、分别经过任意相邻的两条边界圆弧曲线相交所呈的交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像;若所述m条边界圆弧曲线不包含与所述有效圆形区域的边界线重合的边界圆弧曲线且m>4,则采用三点圆弧拟合法确定所述物理世界中四个相互正交的垂直面与所述有效圆形区域的边界线相交所呈的四个交点,以所述光学中心O为起点、分别经过所述四个交点,生成四条第一边界射线,所述四条第一边界射线将除所述水平区域原始图像以外的有效圆形区域划分为四个所述垂直区域原始图像。
12.一种鱼眼相机,其特征在于,包括存储器和处理器;所述存储器上存储有能够被所述处理器加载并执行如权利要求1至10任一项所述方法的计算机程序。
13.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至10任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210850815.3A CN115082355B (zh) | 2022-07-20 | 2022-07-20 | 鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210850815.3A CN115082355B (zh) | 2022-07-20 | 2022-07-20 | 鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115082355A CN115082355A (zh) | 2022-09-20 |
CN115082355B true CN115082355B (zh) | 2022-11-04 |
Family
ID=83260493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210850815.3A Active CN115082355B (zh) | 2022-07-20 | 2022-07-20 | 鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115082355B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115908201B (zh) * | 2023-01-09 | 2023-11-28 | 武汉凡德智能科技有限公司 | 一种图像畸变的热区快速修正方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689033A (zh) * | 2017-07-21 | 2018-02-13 | 哈尔滨工程大学 | 一种基于椭圆分割的鱼眼图像畸变校正方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102518855B1 (ko) * | 2016-06-08 | 2023-04-06 | 한화비전 주식회사 | 모니터링 장치 및 모니터링 시스템 |
CN113538283B (zh) * | 2021-07-22 | 2024-04-30 | 浙江赫千电子科技有限公司 | 一种冗余鱼眼摄像头拍摄图像的畸变矫正方法 |
CN113689413A (zh) * | 2021-08-30 | 2021-11-23 | 深圳市睿达科技有限公司 | 一种对齐校正方法、装置及计算机可读存储介质 |
-
2022
- 2022-07-20 CN CN202210850815.3A patent/CN115082355B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689033A (zh) * | 2017-07-21 | 2018-02-13 | 哈尔滨工程大学 | 一种基于椭圆分割的鱼眼图像畸变校正方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115082355A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6859442B2 (ja) | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 | |
CN109242961B (zh) | 一种脸部建模方法、装置、电子设备和计算机可读介质 | |
CN106815807B (zh) | 一种基于gpu‑cpu协同的无人机影像快速镶嵌方法 | |
CN109064404A (zh) | 一种基于多相机标定的全景拼接方法、全景拼接系统 | |
CN104778656B (zh) | 基于球面透视投影的鱼眼图像校正方法 | |
CN101000461B (zh) | 一种鱼眼图像生成立方体全景的方法 | |
US20240169674A1 (en) | Indoor scene virtual roaming method based on reflection decomposition | |
WO2017091927A1 (zh) | 图像处理方法和双摄像头系统 | |
CN113140036B (zh) | 一种三维建模方法、装置、设备及存储介质 | |
CN104376572A (zh) | 移动终端相机标定方法 | |
CN115082355B (zh) | 鱼眼相机全像素图像校正方法、装置、鱼眼相机及介质 | |
CN114143528A (zh) | 多视频流融合方法、电子设备、存储介质 | |
CN114549772B (zh) | 基于工程独立坐标系的多源三维模型融合处理方法及系统 | |
CN114549666B (zh) | 一种基于agv的环视图像拼接标定方法 | |
CN113516719B (zh) | 一种基于多单应性矩阵的相机标定方法、系统及存储介质 | |
CN112396558A (zh) | 图像处理方法、装置及计算机可读存储介质 | |
CN113989392A (zh) | 拼接摄像机的彩色棋盘格标定方法、装置及摄像机 | |
CN114648458A (zh) | 鱼眼图像矫正方法、装置、电子设备及存储介质 | |
CN114463408A (zh) | 自由视点图生成方法、装置、设备及存储介质 | |
CN112529006A (zh) | 全景图片的检测方法、装置、终端及存储介质 | |
Sajadi et al. | Automatic registration of multiple projectors on swept surfaces | |
CN111047651B (zh) | 畸变图像的矫正方法 | |
JP2005234698A (ja) | 歪みパラメータの生成方法及び映像発生方法並びに歪みパラメータ生成装置及び映像発生装置 | |
CN110111249A (zh) | 一种隧道内壁拼图影像的获取和生成方法及系统 | |
JP2022082455A (ja) | 三次元モデル構築方法、装置及びコンピュータ読み取り可能な記憶媒体 |
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 |