CN109961401B - 一种双目相机的图像校正方法和存储介质 - Google Patents
一种双目相机的图像校正方法和存储介质 Download PDFInfo
- Publication number
- CN109961401B CN109961401B CN201711342048.0A CN201711342048A CN109961401B CN 109961401 B CN109961401 B CN 109961401B CN 201711342048 A CN201711342048 A CN 201711342048A CN 109961401 B CN109961401 B CN 109961401B
- Authority
- CN
- China
- Prior art keywords
- image
- mapping table
- preset
- coordinate
- coordinate mapping
- 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 81
- 238000003702 image correction Methods 0.000 title claims abstract description 15
- 238000013507 mapping Methods 0.000 claims abstract description 269
- 238000005070 sampling Methods 0.000 claims abstract description 42
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000012937 correction Methods 0.000 claims description 214
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000006073 displacement reaction Methods 0.000 claims 3
- 238000004422 calculation algorithm Methods 0.000 description 21
- 239000011159 matrix material Substances 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 8
- 230000003321 amplification Effects 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- YZCKVEUIGOORGS-OUBTZVSYSA-N Deuterium Chemical compound [2H] YZCKVEUIGOORGS-OUBTZVSYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000016776 visual perception Effects 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
- 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
本发明公开了一种双目相机的图像校正方法和存储介质,该方法包括:获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了校正图像像素点与原始图像亚像素点的对应关系;按照预设倍率对预设坐标映射表进行上采样插值计算,以得到原始图像的原始尺寸的坐标映射表;根据原始尺寸的坐标映射表查找校正图像当前像素点在原始图像中的坐标位置,并取原始图像中包围坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到当前像素点的像素值。
Description
技术领域
本发明涉及图像校正领域,特别是涉及一种双目相机的图像校正方法和存储介质。
背景技术
双目图像是通过两台平行相机对同一场景进行拍摄得到的两幅图像。空间中的同一物点在两个相机拍摄的像平面中所成的像,称为匹配点对,根据该匹配点对的视差可以提取出该物点的空间位置信息。理想情况下,同一物点在双目相机中所成的像位于同一行,所以进行立体匹配时,只需沿着同一行进行匹配搜索即可,既降低了搜索的复杂度,又减少了误匹配的概率。
但实际过程中,由于存在镜头畸变、两相机难以严格平行等问题,无法得到理想的双目图像。因此,通常会对双目图像进行几何校正,以获得理想情况下像素严格行对齐的双目图像。
其中,镜头畸变通常包含径向畸变和切向畸变,径向畸变是沿半径方向分布的畸变,它是由于光线在穿透厚度不均的透镜过程中发生折射导致,其表现形式为中心附近畸变小,沿半径发射状畸变,如常见的桶形畸变和枕型畸变。切向畸变是由于透镜在组装时的操作缺陷导致的透镜与像平面不行而产生的畸变。
将相机的像面校正到严格行对齐的过程称为极线几何校正。如图1所示为双目立体模型,Ol,Or分别是左右摄像机的光心,空间点P在左右摄像机的像面πl,πr上投影,则空间点与两相机的光心所构成的平面POlOr称为极面,该极面与两像面的交线称为极线,两相机光心的连线称为基线,基线与像面的交点称为极点。当空间点P移动时,极平面绕着基线同轴旋转,其与像平面的交线构成若干极线束,所有极线束均通过极点。当极点位于无穷远处时,两极线束严格平行,此时对应的极线对处于同一行。所以对理想的无畸变图像而言,极线几何校正即是根据双目图像的对极几何约束,将对应的极线校正到同一行,使之严格行对齐,以便于进行匹配像素点对的匹配搜索。
现有的技术方案中,通常是先对畸变情况进行建模,建立正常像素位置和畸变像素位置之间的映射模型,从而将原始图像校正为无畸变的图像,以消除因镜头畸变而产生的图像失真形变;再对无畸变图像进行极线几何校正,根据相机标定获得的摄像机内外参数,建立投影变换模型,将原始图像投影到一个无畸变且严格行对齐的图像平面上,以获得像素严格行对齐的双目图像;最后,再对校正过程中产生的无效值像素进行插值恢复,并对无效值黑边进行裁剪,最后插值放大到原尺寸。
然而,现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。
发明内容
本发明提供一种双目相机的图像校正方法和存储介质,用以解决现有技术的如下问题:现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。
为解决上述技术问题,一方面,本发明提供一种双目相机的图像校正方法,包括:获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,所述预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了所述校正图像像素点与所述原始图像亚像素点的对应关系;按照预设倍率对所述预设坐标映射表进行上采样插值计算,以得到所述原始图像的原始尺寸的坐标映射表;根据所述原始尺寸的坐标映射表查找校正图像当前像素点在所述原始图像中的坐标位置,并取所述原始图像中包围所述坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到所述当前像素点的像素值。
可选的,获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表之前,还包括:按照反向映射方式确定所述预设坐标映射表。
可选的,按照反向映射方式确定所述预设坐标映射表,包括:S1,对双目相机进行标定,获取所述双目相机的相机参数,以将所述相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数;S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中所述预定像素点对应的第一亚像素位置;S3,将所述第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在所述原始图像中所述预定像素点对应的亚像素位置;S4,在所述虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到所述虚拟校正图像的初始坐标映射表;S5,按照所述初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像;S6,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量;S7,根据所述主点偏移量修正所述相机参数中的主点坐标位置,以确定新的主点坐标位置;S8,根据所述新的主点坐标位置执行S1至S4,以得到第一坐标映射表。
可选的,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量,包括:获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,根据所述第一侧黑边的最大值剪裁所述左校正图像和所述右校正图像的所述第一侧黑边,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;计算所述第一侧黑边剪裁完成的所述左校正图像的第一主点偏移量,计算所述第一侧黑边剪裁完成的所述右校正图像的第二主点偏移量;将所述第一主点偏移量和所述第二主点偏移量的平均值作为剪裁后所述校正图像的主点偏移量。
可选的,得到第一坐标映射表之后,还包括:对所述第一坐标映射表中每个所述坐标位置进行定点化处理,以得到具有亚像素等级的所述校正图像的第二坐标映射表。
可选的,得到具有亚像素等级的所述校正图像的第二坐标映射表之后,还包括:根据所述第二坐标映射表对原始图像进行校正,得到校正图像;按照第二预设剪裁规则对所述校正图像进行黑边剪裁,其中,所述第二预设剪裁规则为裁剪后的图像高宽比不变;对所述校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。
可选的,所述X轴方向的线性下采样倍率与所述Y轴方向的线性下采样倍率不同。
可选的,按照第二预设剪裁规则对所述校正图像进行黑边剪裁,包括:获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;确定水平方向的左侧黑边的最大值和右侧黑边的最大值之和,以及确定竖直方向的上侧黑边的最大值和下侧的最大黑边值之和,并确定水平方向之和与竖直方向之和的比值;检测所述比值是否大于校正图像的水平边长度与竖直边长度的比值;在大于的情况下,按照水平方向的所述左侧黑边的最大值和所述右侧黑边的最大值裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述水平方向之和计算竖直方向应裁剪的黑边值之和;按照所述上侧黑边的最大值和所述下侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并按照第一预设裁剪量二次裁剪所述左校正图像以及所述右校正图像竖直方向的边线,其中,所述第一预设裁剪量为所述竖直方向应裁剪的黑边值之和与所述竖直方向之和的差值的二分之一;在小于的情况下,按照竖直方向的所述上侧黑边的最大值和所述下侧黑边的最大值裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述竖直方向之和计算水平方向应裁剪的黑边值之和;按照所述左侧黑边的最大值和所述右侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并按照第二预设裁剪量二次裁剪所述左校正图像以及所述右校正图像水平方向的边线,其中,所述第二预设裁剪量为所述水平方向应裁剪的黑边值之和与所述水平方向之和的差值的二分之一。
另一方面,本发明还提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,所述预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了所述校正图像像素点与所述原始图像亚像素点的对应关系;按照预设倍率对所述预设坐标映射表进行上采样插值计算,以得到所述原始图像的原始尺寸的坐标映射表;根据所述原始尺寸的坐标映射表查找校正图像当前像素点在所述原始图像中的坐标位置,并取所述原始图像中包围所述坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到所述当前像素点的像素值。
可选的,所述计算机程序在被所述处理器执行获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表的步骤之前,还被所述处理器执行以下步骤:按照反向映射方式确定所述预设坐标映射表。
可选的,所述计算机程序在被所述处理器执行按照反向映射方式确定所述预设坐标映射表的步骤时,具体实现如下步骤:S1,对双目相机进行标定,获取所述双目相机的相机参数,以将所述相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数;S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中所述预定像素点对应的第一亚像素位置;S3,将所述第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在所述原始图像中所述预定像素点对应的亚像素位置;S4,在所述虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到所述虚拟校正图像的初始坐标映射表;S5,按照所述初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像;S6,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量;S7,根据所述主点偏移量修正所述相机参数中的主点坐标位置,以确定新的主点坐标位置;S8,根据所述新的主点坐标位置执行S1至S4,以得到第一坐标映射表。
所述计算机程序在被所述处理器执行按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量的步骤时,具体实现如下步骤:获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,根据所述第一侧黑边的最大值剪裁所述左校正图像和所述右校正图像的所述第一侧黑边,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;计算所述第一侧黑边剪裁完成的所述左校正图像的第一主点偏移量,计算所述第一侧黑边剪裁完成的所述右校正图像的第二主点偏移量;将所述第一主点偏移量和所述第二主点偏移量的平均值作为剪裁后所述校正图像的主点偏移量。
可选的,所述计算机程序在被所述处理器执行得到第一坐标映射表的步骤之后,还被所述处理器执行以下步骤:对所述第一坐标映射表中每个所述坐标位置进行定点化处理,以得到具有亚像素等级的所述校正图像的第二坐标映射表。
可选的,所述计算机程序在被所述处理器执行得到具有亚像素等级的所述校正图像的第二坐标映射表的步骤之后,还被所述处理器执行以下步骤:根据所述第二坐标映射表对原始图像进行校正,得到校正图像;按照第二预设剪裁规则对所述校正图像进行黑边剪裁,其中,所述第二预设剪裁规则为裁剪后的图像高宽比不变;对所述校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。
所述计算机程序在被所述处理器执行按照第二预设剪裁规则对所述校正图像进行黑边剪裁的步骤时,具体实现如下步骤:获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;确定水平方向的左侧黑边的最大值和右侧黑边的最大值之和,以及确定竖直方向的上侧黑边的最大值和下侧的最大黑边值之和,并确定水平方向之和与竖直方向之和的比值;检测所述比值是否大于校正图像的水平边长度与竖直边长度的比值;在大于的情况下,按照水平方向的所述左侧黑边的最大值和所述右侧黑边的最大值裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述水平方向之和计算竖直方向应裁剪的黑边值之和;按照所述上侧黑边的最大值和所述下侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并按照第一预设裁剪量二次裁剪所述左校正图像以及所述右校正图像竖直方向的边线,其中,所述第一预设裁剪量为所述竖直方向应裁剪的黑边值之和与所述竖直方向之和的差值的二分之一;在小于的情况下,按照竖直方向的所述上侧黑边的最大值和所述下侧黑边的最大值裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述竖直方向之和计算水平方向应裁剪的黑边值之和;按照所述左侧黑边的最大值和所述右侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并按照第二预设裁剪量二次裁剪所述左校正图像以及所述右校正图像水平方向的边线,其中,所述第二预设裁剪量为所述水平方向应裁剪的黑边值之和与所述水平方向之和的差值的二分之一。
本发明预先设置了一张记载了校正图像像素点与原始图像亚像素点的对应关系的预设坐标映射表,因此可以一次性准确的查找到校正图像当前像素点在原始图像中的坐标位置,运算复杂度较低,且该坐标映射表分别包括单独的X轴坐标映射表和单独的Y轴坐标映射表,两个坐标映射表互不干扰,在查找坐标映射表时,可以同时查找横纵坐标,查找速度较快,能够满足实时运算的需求,解决了现有技术的如下问题:现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。
附图说明
图1是现有技术中双目立体模型示意图;
图2是本发明第一实施例中双目相机的图像校正方法;
图3是本发明第三实施例中反向映射投影示意图;
图4是本发明第三实施例中校正图像黑边位置示意图。
具体实施方式
为了解决现有技术的如下问题:现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求;本发明提供了一种双目相机的图像校正方法和存储介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明第一实施例提供了一种双目相机的图像校正方法,该方法的流程如图2所示,包括S10至S12:
S10,获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了校正图像像素点与原始图像亚像素点的对应关系;
S11,按照预设倍率对预设坐标映射表进行上采样插值计算,以得到原始图像的原始尺寸的坐标映射表;
S12,根据原始尺寸的坐标映射表查找校正图像当前像素点在原始图像中的坐标位置,并取原始图像中包围坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到当前像素点的像素值。
本实施例预先设置了一张记载了校正图像像素点与原始图像亚像素点的对应关系的预设坐标映射表,因此可以一次性准确的查找到校正图像当前像素点在原始图像中的坐标位置,运算复杂度较低,且该坐标映射表分别包括单独的X轴坐标映射表和单独的Y轴坐标映射表,两个坐标映射表互不干扰,在查找坐标映射表时,可以同时查找横纵坐标,查找速度较快,能够满足实时运算的需求,解决了现有技术的如下问题:现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。
在上述获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表之前,是需要本领域技术人员设置预设坐标映射表的,本实施例按照反向映射方式确定预设坐标映射表,即假设已知校正图像的各个像素点,作为已知条件先反向代入极限几何校正模型校正得到各个亚像素点,再将各个亚像素点作为已知条件反向代入镜头畸变校正模型进行计算,其中,两次校正之间不进行插值运算。按照反向映射方式确定预设坐标映射表的具体过程如下,包括S1至S8:
S1,对双目相机进行标定,获取双目相机的相机参数,以将相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数。
S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中预定像素点对应的第一亚像素位置。
S3,将第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在原始图像中预定像素点对应的亚像素位置。
S4,在虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到虚拟校正图像的初始坐标映射表。
S5,按照初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像。
S6,按照第一预设剪裁规则对校正图像进行黑边剪裁,并确定剪裁后校正图像的主点偏移量。
该过程即为黑边剪裁的过程,本实施例的第一预设剪裁规则可以与现有剪裁方式不同,例如,先获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中第一侧黑边的最大值,根据第一侧黑边的最大值剪裁左校正图像和右校正图像的第一侧黑边,其中,第一侧至少包括:上侧、下侧、左侧和右侧;计算第一侧黑边剪裁完成的左校正图像的第一主点偏移量,计算第一侧黑边剪裁完成的右校正图像的第二主点偏移量;将第一主点偏移量和第二主点偏移量的平均值作为剪裁后校正图像的主点偏移量。
该过程中的去黑边方法相对于现有技术都是通过增加裁剪和线性放大的步骤来实现,工序和算法复杂度都大大降低了,简化了计算过程。
S7,根据主点偏移量修正相机参数中的主点坐标位置,以确定新的主点坐标位置。
S8,根据新的主点坐标位置再执行一次S1至S4,以得到第一坐标映射表。
上述过程得到的第一坐标映射表就可以作为预设坐标映射表使用。然而,该第一坐标映射表还存在一些不足之处,还需要对其进行后续处理,则可以得到更加精细化的预设坐标映射表。
因此,在得到第一坐标映射表之后,还可以对第一坐标映射表中每个坐标位置进行定点化处理,以得到具有亚像素等级的校正图像的第二坐标映射表。该过程得到的第二坐标映射表可以作为预设坐标映射表使用。但该第二坐标映射表记载了所有像素点的对应关系,需要较大的存储资源。
因此,为了减少存储资源,在得到具有亚像素等级的校正图像的第二坐标映射表之后,还可以包括:根据第二坐标映射表对原始图像进行校正,得到校正图像;按照第二预设剪裁规则对校正图像进行黑边剪裁,其中,第二预设剪裁规则为裁剪后的图像高宽比不变;对校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。在进行线性下采样时,X轴方向的线性下采样倍率与Y轴方向的线性下采样倍率可以相同也可以不同。
得到的第三坐标映射表可以作为预设坐标映射表使用。该第三坐标映射表是第二坐标映射表线性下采样后得到的,因此,数据量比第二坐标映射表小了很多,占用较少的存储资源。
在按照第二预设剪裁规则对校正图像进行黑边剪裁时,具体可以包括如下过程:
获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中第一侧黑边的最大值,其中,第一侧至少包括:上侧、下侧、左侧和右侧;确定水平方向的左侧黑边的最大值和右侧黑边的最大值之和,以及确定竖直方向的上侧黑边的最大值和下侧的最大黑边值之和,并确定水平方向之和与竖直方向之和的比值;检测比值是否大于校正图像的水平边长度与竖直边长度的比值;在大于的情况下,按照水平方向的左侧黑边的最大值和右侧黑边的最大值裁剪左校正图像以及右校正图像水平方向的黑边,并根据校正图像的水平边长度与竖直边长度的比值和水平方向之和计算竖直方向应裁剪的黑边值之和;按照上侧黑边的最大值和下侧的最大黑边值初次裁剪左校正图像以及右校正图像竖直方向的黑边,并按照第一预设裁剪量二次裁剪左校正图像以及右校正图像竖直方向的边线,其中,第一预设裁剪量为竖直方向应裁剪的黑边值之和与竖直方向之和的差值的二分之一;在小于的情况下,按照竖直方向的上侧黑边的最大值和下侧黑边的最大值裁剪左校正图像以及右校正图像竖直方向的黑边,并根据校正图像的水平边长度与竖直边长度的比值和竖直方向之和计算水平方向应裁剪的黑边值之和;按照左侧黑边的最大值和右侧的最大黑边值初次裁剪左校正图像以及右校正图像水平方向的黑边,并按照第二预设裁剪量二次裁剪左校正图像以及右校正图像水平方向的边线,其中,第二预设裁剪量为水平方向应裁剪的黑边值之和与水平方向之和的差值的二分之一。
在上述实施例进行两次黑边剪裁的过程中,第一预设剪裁规则可以替换为第二预设剪裁规则,第二预设剪裁规则也可以替换为第一预设剪裁规则,此处不再赘述。
现有的校正算法中,去黑边方法都是通过增加裁剪和线性放大的步骤来实现,增加了工序和算法复杂度,通过本实施例提供的黑边剪裁方法,剪裁过程简单,且使黑边得到了适度的剪裁,解决了现有技术的问题。
现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。本发明第二实施例为了解决以上问题,提供了一种存储介质,对任意双目相机设备均可实现实时的双目几何校正,获得无畸变、像素严格行对齐的双目图像。
第二实施例提供的存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
S21,获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了校正图像像素点与原始图像亚像素点的对应关系;
S22,按照预设倍率对预设坐标映射表进行上采样插值计算,以得到原始图像的原始尺寸的坐标映射表;
S23,根据原始尺寸的坐标映射表查找校正图像当前像素点在原始图像中的坐标位置,并取原始图像中包围坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到当前像素点的像素值。
本实施例预先设置了一张记载了校正图像像素点与原始图像亚像素点的对应关系的预设坐标映射表,因此可以一次性准确的查找到校正图像当前像素点在原始图像中的坐标位置,运算复杂度较低,且该坐标映射表分别包括单独的X轴坐标映射表和单独的Y轴坐标映射表,两个坐标映射表互不干扰,在查找坐标映射表时,可以同时查找横纵坐标,查找速度较快,能够满足实时运算的需求,解决了现有技术的如下问题:现有先进行镜头畸变校正再进行极线几何校正的双目几何校正算法,都是经过两次校正运算,运算复杂度较高,不满足实时运算的需求。
在计算机程序在被处理器执行获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表的步骤之前,还被处理器执行以下步骤:按照反向映射方式确定预设坐标映射表,其具体实现如下S1至S8:
S1,对双目相机进行标定,获取双目相机的相机参数,以将相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数。
S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中预定像素点对应的第一亚像素位置。
S3,将第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在原始图像中预定像素点对应的亚像素位置。
S4,在虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到虚拟校正图像的初始坐标映射表。
S5,按照初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像。
S6,按照第一预设剪裁规则对校正图像进行黑边剪裁,并确定剪裁后校正图像的主点偏移量。
S7,根据主点偏移量修正相机参数中的主点坐标位置,以确定新的主点坐标位置。
S8,根据新的主点坐标位置再执行一次S1至S4,以得到第一坐标映射表。
上述过程得到的第一坐标映射表就可以作为预设坐标映射表使用。然而,该第一坐标映射表还存在一些不足之处,还需要对其进行后续处理,则可以得到更加精细化的预设坐标映射表。
因此,在计算机程序在被处理器执行得到第一坐标映射表的步骤之后,还被处理器执行以下步骤:对第一坐标映射表中每个坐标位置进行定点化处理,以得到具有亚像素等级的校正图像的第二坐标映射表。该过程得到的第二坐标映射表可以作为预设坐标映射表使用。但该第二坐标映射表记载了所有像素点的对应关系,需要较大的存储资源。
因此,为了减少存储资源,在计算机程序在被处理器执行得到具有亚像素等级的校正图像的第二坐标映射表的步骤之后,还被处理器执行以下步骤:
根据第二坐标映射表对原始图像进行校正,得到校正图像;按照第二预设剪裁规则对校正图像进行黑边剪裁,其中,第二预剪裁规则为裁剪后的图像高宽比不变;对校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。在进行线性下采样时,X轴方向的线性下采样倍率与Y轴方向的线性下采样倍率可以相同也可以不同。
得到的第三坐标映射表可以作为预设坐标映射表使用。该第三坐标映射表是第二坐标映射表线性下采样后得到的,因此,数据量比第二坐标映射表小了很多,占用较少的存储资源。
由于现有的双目图像几何校正算法存在实时性差,且存在较多黑边的问题,既影响后续的应用,又影响人的直观视觉感受。因此,在按照第一预设剪裁规则和第二预设剪裁规则对黑边进行剪裁的过程中,第一预设剪裁规则和第二预设剪裁规则可以与现有技术中的剪裁方法不同。
例如,按照第一预设剪裁规则对校正图像进行黑边剪裁,可以包括:先获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中第一侧黑边的最大值,根据第一侧黑边的最大值剪裁左校正图像和右校正图像的第一侧黑边,其中,第一侧至少包括:上侧、下侧、左侧和右侧;计算第一侧黑边剪裁完成的左校正图像的第一主点偏移量,计算第一侧黑边剪裁完成的右校正图像的第二主点偏移量;将第一主点偏移量和第二主点偏移量的平均值作为剪裁后校正图像的主点偏移量。
该过程中的去黑边方法相对于现有技术都是通过增加裁剪和线性放大的步骤来实现,工序和算法复杂度都大大降低了,简化了计算过程。
例如,在按照第二预设剪裁规则对校正图像进行黑边剪裁时,具体可以包括:
获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中第一侧黑边的最大值,其中,第一侧至少包括:上侧、下侧、左侧和右侧;确定水平方向的左侧黑边的最大值和右侧黑边的最大值之和,以及确定竖直方向的上侧黑边的最大值和下侧的最大黑边值之和,并确定水平方向之和与竖直方向之和的比值;检测比值是否大于校正图像的水平边长度与竖直边长度的比值;在大于的情况下,按照水平方向的左侧黑边的最大值和右侧黑边的最大值裁剪左校正图像以及右校正图像水平方向的黑边,并根据校正图像的水平边长度与竖直边长度的比值和水平方向之和计算竖直方向应裁剪的黑边值之和;按照上侧黑边的最大值和下侧的最大黑边值初次裁剪左校正图像以及右校正图像竖直方向的黑边,并按照第一预设裁剪量二次裁剪左校正图像以及右校正图像竖直方向的边线,其中,第一预设裁剪量为竖直方向应裁剪的黑边值之和与竖直方向之和的差值的二分之一;在小于的情况下,按照竖直方向的上侧黑边的最大值和下侧黑边的最大值裁剪左校正图像以及右校正图像竖直方向的黑边,并根据校正图像的水平边长度与竖直边长度的比值和竖直方向之和计算水平方向应裁剪的黑边值之和;按照左侧黑边的最大值和右侧的最大黑边值初次裁剪左校正图像以及右校正图像水平方向的黑边,并按照第二预设裁剪量二次裁剪左校正图像以及右校正图像水平方向的边线,其中,第二预设裁剪量为水平方向应裁剪的黑边值之和与水平方向之和的差值的二分之一。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明第三实施例提供了提出了一种实时的双目图像几何校正方法,在离线状态下,将无畸变、像素严格行对齐的校正图像中的每一像素,直接反映射到原始图像中,通过修正投影映射模型、及图像裁剪的方式去除校正图像中的黑边,并结合图像裁剪与映射坐标的线性关系,对包含亚像素精度的映射坐标表进行下采样,最终将下采样后的坐标表存储在存储介质中供在线运算使用。在线实时校正时,只需上采样映射坐标表,并采用查表的方式即可实现实时的双目图像几何校正。具体算法流程如下:
(1)离线运算模块(即按照反向映射方式确定预设坐标映射表的过程)。
1.对双目相机进行标定,以获取相机内外参数,以作为后续矫正模型的输入参数。
2.采用反向映射的方式建立镜头畸变校正和极线几何校正的投影映射模型,将校正后的像素位置与原图像的像素位置一一映射。
3.采用初始校正模型对双目图像进行校正,根据校正图像去除黑边后的图像中心与原图中心的偏移,修正主点坐标,再进行重投影映射,得到修正后的投影映射模型。
4.根据修正后的投影映射模型,分别计算左右校正图像中每一像素位置对应于原始图像的位置坐标,并对位置坐标进行定点化处理,得到包含亚像素精度的左右校正图像的XY坐标映射表。
5.采用修正后的校正模型对原始图像进行校正,在保证裁剪前后图像宽高比不变的情况下,根据左右校正图像中的最大黑边确定裁剪区域。
6.结合裁剪区域,对XY坐标映射表进行下采样,并将下采样后的坐标映射表存储在存储介质中,以供在线运算模块使用。
(2)在线运算模块(即对上述得到的坐标映射表进行使用,确定校正图像当前像素点在原始图像中像素值的过程)。
从存储介质中取出左右图像对应的坐标映射表;根据下采样倍率将坐标映射表进行上采样插值,恢复到原始尺寸;对校正图像的每一像素位置,查询对应的插值恢复后的坐标映射表,得到其对应于原图的坐标值,根据该坐标值取原图中对应位置的像素及其邻域像素进行插值运算,从而得到校正后的像素值。
下面对上述离线运算模块和在线运算模块进行详细说明。
(1)离线运算模块。离线运算模块的算法步骤如下:
步骤1:
首先对双目相机进行标定,以获取相机内外参数。相机标定采用现有技术张氏标定法进行,可用Matlab或者OpenCV开源软件工具包进行标定,获取双目相机的内外参数。
步骤2:
建立投影映射模型,将校正后的像素位置与原图像的像素位置一一映射。按照通常的算法流程,首先进行镜头畸变校正得到无畸变图像,然后再对无畸变图像进行极线几何校正得到最终的行对准的校正图像。
由于在校正过程中,每一次映射都可能会映射到一个亚像素位置,最终都需要取该亚像素位置的邻域像素进行插值运算,因此,若按照现有的方式进行两次校正运算,不仅复杂度高,而且在第一步校正时产生的黑边,会在第二次校正运算中被放大,具体表现为在校正后的图像中,无效值区域会更多,即有更多黑边。
所以针对计算复杂度高、有精度损失、校正后有黑边的问题,本实施例对两次独立的校正过程进行融合,采用反向映射的方式建立投影映射模型,直接将校正后的像素映射到原始图像中的对应位置。如图3所示,对极线几何校正后的图像中的每一像素,首先反映射到虚拟的无畸变图像中,再将其直接反映射到原始图像中,其中的映射过程不进行插值运算,只在最后映射到原图像时进行一次双线性插值。
现有正常映射过程具体描述如下(1)和(2):
(1)极线几何校正。
极线几何校正有多种方法实现,此处可采用经典的投影映射校正法,假设左相机的内参矩阵为A,其相对世界坐标系的旋转矩阵和平移矩阵分别为R,T,空间点w=[x,y,z]T在左相机中的投影为m=[u,v,1]T,若其投影矩阵为P′,则有如下投影关系:
m=P′w (1)
其中,投影矩阵P′可分解为以下形式:
P′=A[R t] (2)
内参矩阵中包含相机的主点坐标(u0,v0),及x、y方向的焦距(fx,fy),形式如下:
为便于描述光心的位置,投影矩阵又可分解为以下形式:
所以光心可由下式计算得到:
c=-Q-1q (5)
所以,投影矩阵可重写如下:
P′=[Q|-Qc]=A[R|-Rc] (6)
极线几何校正的实质,是在光心不变的前提下,将极点置于无穷远处,此时两相机的极线共线,两像面平行且严格行对齐。所以对两个虚拟的平行像面而言,内参矩阵及外参旋转矩阵只需在保证相同的情况下可任意选定。
为保证校正后图像中心不会偏移过大,新的内参矩阵An通常选为左摄像机的内参矩阵。而旋转矩阵可选取如下:
其中,r1表示旋转后两相机的光心连线与基线平行;r2只需与r1正交,可为任意单位向量k与r1的叉积;r3需与r1和r2正交。具体如下:
所以可根据式(6)计算得到新的投影矩阵Pn和Qn:
P′n=An[Rn|-Rnc]=[Qn|-Qnc] (9)
最终,将像素由原始位置m映射到两像面平行且像素行对齐时的位置mn:
mn=λQnQ-1m=Tlm (10)
其中λ为实数,Tr为左图的校正投影矩阵。
对右图采用同样的方式计算,可得到右图的校正投影矩阵Tr。
(2)镜头畸变校正。
镜头畸变仅考虑径向畸变和切向畸变,假设空间点P在图像坐标系中的坐标为(x,y),其归一化坐标为(xn,yn),相机在xy方向的的焦距为(fx,fy),相机的主点坐标为(uo,v0),则有如下关系:
若径向畸变只考虑前3阶(k1,k2,k3),切向畸变考虑2阶(p1,p2),则:
其中:
xn,yn为归一化的图像坐标。
所以,空间点P对应的无畸变图像的像素坐标为:
本实施例在现有上述按照(1)和(2)各个公式的基础上进行反投影映射融合,即假设输出是已知的,反向带入(1)和(2)中,得到输入。该过程将两次投影过程融合在一起,为防止产生空洞,采用反向映射的方式,对最终的无畸变、行对齐的图像中的任一像素,首先将其根据式(1)-(10)反映射到虚拟的无畸变图像中;再根据式(11)-(14),将无畸变图像中的像素反映射到原始图像中,即得到投影映射模型。运算过程都保留浮点数运算,中间不对虚拟的无畸变图像进行插值。
步骤3:
按照投影映射模型将校正图像中的所有像素都映射到原图像中后,再进行一次双线性插值运算,即可得到校正后的无畸变行对齐的双目图像,根据校正图像(即双目图像)去除黑边后的图像中心与原图中心的偏移,修正主点坐标,再进行重投影映射,得到修正后的投影映射模型。其具体步骤如下:
1)根据步骤2的初始校正模型,对双目图像进行校正,得到两幅校正图像;
2)观察两校正图像中的黑边,确定主点偏移量。主点偏移量的确定原则,是尽量的保证在校正后图像的黑边最少。即是校正后的左右图像在去除最大黑边后的最大内接图像的中心与原图像中心的偏移,具体计算可采用如下方式:
假设采用初始校正模型进行校正后,得到的校正图像及黑边情况如图4所示,对左校正图,统计其在图像左边的最大黑边宽度w1和在图像右边的最大黑边宽度w2,二者差值的平均值dxl=(w2-w1)/2,即为左图的水平偏移量。同时统计其在图像上半边的最大黑边的高度h1,和在图像下半边的最大黑边高度h2,计算二者的差值平均值dyl=(h2-h1)/2,此值即为左图的竖直偏移量。
同理,计算右校正图的偏移量dxr,dyr。最终偏移量可由左右图偏移量加权求平均:dx=(dxl+dxr)/2,dy=(dyl+dyr)/2。
3)根据主点偏移量修正主点坐标,进行重投影映射,得到新的投影映射模型。即对两图像的主点坐标进行修正,假设主点坐标为(u0,v0),则修正后的主点坐标为:
将(u′,v′)作为修正后左右相机的主点坐标,重新按照步骤2计算修正后的投影映射模型。
步骤4:
根据修正后的投影映射模型,分别计算左右校正图像中每一像素位置对应于原始图像的位置坐标,并对位置坐标进行定点化处理,得到包含亚像素精度的左右校正图像的XY坐标映射表。
根据修正后的投影映射模型,采用反向映射的方式,可以计算得到校正后图像中每一像素与原图像中对应像素的位置映射关系,将其对应于原图的X、Y坐标分别记录在两张映射表中。所以,后续在线运算模块对任一像素的恢复,只需查找X、Y表中对应位置存储的坐标值,再到原图中进行搜索即可。
由于通过校正计算后的映射坐标值通常是非整数,为了保证图像映射的精度,对坐标中的浮点数进行定点化。通过实验证明,校正过程中的坐标映射只需保留1/4精度,即可保证校正映射的精度。所以对所有坐标值进行1/4精度定点化,即所有坐标乘4后再取整数,如下式:
步骤5:
采用修正后的投影映射模型对原始图像进行校正,在保证裁剪前后图像宽高比不变的情况下,根据左右校正图像中的最大黑边确定裁剪区域。其中,裁剪前后宽高比不变,即水平方向和竖直方向裁剪的比例与原图像的宽高比相同。
步骤6:
结合裁剪区域,对XY坐标映射表进行下采样,并将下采样后的坐标映射表存储在存储介质中,以供在线运算模块使用。
由于坐标映射表中存储的是X、Y坐标,虽然经过极线几何校正,像素的映射位置发生变化,但对映射坐标而言,X坐标在水平方向仍然是线性递增的关系,其在竖直方向呈分段线性。而Y坐标在竖直方向也是线性递增,其在水平方向也成分段线性。所以,根据坐标表的线性度,可对其进行线性下采样,为便于在上采样中进行插值恢复及硬件实现,通常下采样倍率选为2的整数倍。线性下采样即是以固定间隔从原表中抽取像素点组成新的坐标表,例如对X坐标表中的一行坐标,以64为下采样倍率进行采样,则从起点开始,每隔64个点取一个坐标,直至当前行结束,如取当前行坐标表的第1、65、129个。
通常情况下,对图像进行裁剪后,需再放大到原尺寸。而由于此处对映射坐标表进行下采样存储,在实际应用时还需对下采样后的坐标表再进行上采样放大。所以将裁剪与下采样进行融合,令坐标表进行下采样的区域,即是由步骤5中确定的图像裁剪区域。因此,在对下采样后的坐标表进行上采样后得到的坐标表,即相当于对原坐标表进行了裁剪和放大。
最后,将左右图对应的下采样后的XY坐标表存储到介质中,以供在线运算模块调用。
(2)在线运算模块。
由于在离线运算模块已将校正前后像素位置的映射坐标表保存下来,所以在线运算模块只需进行查表插值映射即可。具体流程如下:
1.从存储介质中读取左右图像对应的坐标映射表,其中,左右图像分别对应两张X、Y坐标表。
2.根据下采样倍率,对左右图像对应的X、Y坐标映射表进行上采样插值,恢复到原始尺寸。即对上采样后的坐标表中的每一位置,根据采样倍率将其映射到原坐标表中,取对应位置的坐标值及其邻域像素进行插值运算,插值方法可选用双线性插值。
3.根据坐标映射表进行查表映射以实现校正。在对压缩表进行上采样恢复原始大小后,即可根据映射坐标表获得每一像素对应于原图中对应像素的X、Y坐标,从而计算出其校正后的像素值。
在离线计算时,已对映射坐标进行定点化处理,即保留了浮点数精度,相当于会映射到亚像素的位置,所以可取其邻域像素进行插值计算,以得到当前像素的精确值。
通过以上查表映射的方式进行校正,既能保证校正精度、又节约存储资源,由于运算复杂度低,不仅可在软件中达到实时校正,还是一种易于硬件实现的方法。
本发明实施例将镜头畸变校正和极线几何校正融合。采用反向映射的方式,直接建立校正图像与原图像对应的投影映射模型;采用两种方式去除校正图像中的黑边:第一步是根据初始校正图像中黑边的位置及大小,修正主点坐标,进行重投影映射,第二步,根据修正后的校正图像中的黑边的位置及大小,进行图像裁剪;将图像裁剪与坐标映射表的下采样存储融合,简化了计算过程;根据映射坐标的线性特性,对映射坐标表进行不同程度的线性下采样,以节约存储资源。
上述过程与现有方式存在如下不同之处:
(1)现有技术是在理想的无畸变模型的基础上进行校正,即不考虑镜头畸变的影响;而本发明是基于一般情况进行校正,将镜头畸变和极线几何校正融合到了一起进行。
(2)现有技术的极线几何校正分为2个阶段,首先进行极线平行校正,推导出极线平行校正变换矩阵;再进行极线共线校正,计算出极线距离,再用其修改右相机的主点坐标,从而重新计算出极线共线校正变换矩阵。而本发明的只需一步完成校正,算法核心思想不同,不依赖于基本矩阵的计算,校正过程更简单。
(3)现有技术对图像中心的处理是根据校正前后图像中心的变化量来修正主点坐标。而本发明是对校正后的图像,根据其去除黑边后的中心与原图像中心的偏移来修正主点坐标,中心处理的思路及方法不同。
(4)现有技术裁剪黑边的方法是在校正图像后,根据原图的四个顶点和其在校正后对应的四个点间的位置关系,确定一个最小交集作为裁剪区域。该方法在裁剪后图像分辨率将变小,由于不能保证长宽比,即使放大到原分辨率,图像也会有形变失真,从而影响视差的精度。而本发明从2个角度进行去黑边处理,第一个方面是移动图像中心、根据校正后图像黑边的大小对校正矩阵进行修正,从而实现去黑边,第二个方面,不对输出图像进行裁剪,而是对映射坐标进行裁剪,且保持在裁剪前后图像宽高比不变,并将裁剪融合到坐标映射表下采样的过程中,使得算法复杂度更低。
(5)现有技术对双目图像进行校正的复杂度较高,难以硬件实现,实时性差。而本发明采用查表法进行算法优化,算法复杂度低,实时性高,适合于硬件实现。
综上可知:本发明算法步骤更简洁,将镜头畸变校正和极线几何校正融合在一起,通过一次校正即可得到无畸变、行对齐的双目图像;本发明将复杂运算放在离线进行,在线校正只需查表映射,且映射表经过下采样存储占用的存储资源很少,适合于硬件实现,实时性更高;本发明的去黑边算法,通过两种方式实现,产生的黑边更少,且无需单独增加图像裁剪和放大的步骤。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (5)
1.一种双目相机的图像校正方法,其特征在于,包括:
获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,所述预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了校正图像像素点与原始图像亚像素点的对应关系;
按照预设倍率对所述预设坐标映射表进行上采样插值计算,以得到所述原始图像的原始尺寸的坐标映射表;
根据所述原始尺寸的坐标映射表查找校正图像当前像素点在所述原始图像中的坐标位置,并取所述原始图像中包围所述坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到所述当前像素点的像素值;
获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表之前,还包括:
按照反向映射方式确定所述预设坐标映射表,包括:
S1,对双目相机进行标定,获取所述双目相机的相机参数,以将所述相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数;
S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中所述预定像素点对应的第一亚像素位置;
S3,将所述第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在所述原始图像中所述预定像素点对应的亚像素位置;
S4,在所述虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到所述虚拟校正图像的初始坐标映射表;
S5,按照所述初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像;
S6,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量;
S7,根据所述主点偏移量修正所述相机参数中的主点坐标位置,以确定新的主点坐标位置;
S8,根据所述新的主点坐标位置执行S1至S4,以得到第一坐标映射表;
得到第一坐标映射表之后,还包括:
对所述第一坐标映射表中每个所述坐标位置进行定点化处理,以得到具有亚像素等级的所述校正图像的第二坐标映射表;
得到具有亚像素等级的所述校正图像的第二坐标映射表之后,还包括:
根据所述第二坐标映射表对原始图像进行校正,得到校正图像;
按照第二预设剪裁规则对所述校正图像进行黑边剪裁,其中,所述第二预设剪裁规则为裁剪后的图像高宽比不变;
对所述校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。
2.如权利要求1所述的图像校正方法,其特征在于,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量,包括:
获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,根据所述第一侧黑边的最大值剪裁所述左校正图像和所述右校正图像的所述第一侧黑边,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;
计算所述第一侧黑边剪裁完成的所述左校正图像的第一主点偏移量,计算所述第一侧黑边剪裁完成的所述右校正图像的第二主点偏移量;
将所述第一主点偏移量和所述第二主点偏移量的平均值作为剪裁后所述校正图像的主点偏移量。
3.如权利要求1所述的图像校正方法,其特征在于,所述X轴方向的线性下采样倍率与所述Y轴方向的线性下采样倍率不同。
4.如权利要求1所述的图像校正方法,其特征在于,按照第二预设剪裁规则对所述校正图像进行黑边剪裁,包括:
获取左校正图像的第一侧黑边和右校正图像的第一侧黑边中所述第一侧黑边的最大值,其中,所述第一侧至少包括:上侧、下侧、左侧和右侧;
确定水平方向的左侧黑边的最大值和右侧黑边的最大值之和,以及确定竖直方向的上侧黑边的最大值和下侧黑边的最大值之和,并确定水平方向之和与竖直方向之和的比值;
检测所述比值是否大于校正图像的水平边长度与竖直边长度的比值;
在大于的情况下,按照水平方向的所述左侧黑边的最大值和所述右侧黑边的最大值裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述水平方向之和计算竖直方向应裁剪的黑边值之和;按照所述上侧黑边的最大值和所述下侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并按照第一预设裁剪量二次裁剪所述左校正图像以及所述右校正图像竖直方向的边线,其中,所述第一预设裁剪量为所述竖直方向应裁剪的黑边值之和与所述竖直方向之和的差值的二分之一;
在小于的情况下,按照竖直方向的所述上侧黑边的最大值和所述下侧黑边的最大值裁剪所述左校正图像以及所述右校正图像竖直方向的黑边,并根据所述校正图像的水平边长度与竖直边长度的比值和所述竖直方向之和计算水平方向应裁剪的黑边值之和;按照所述左侧黑边的最大值和所述右侧的最大黑边值初次裁剪所述左校正图像以及所述右校正图像水平方向的黑边,并按照第二预设裁剪量二次裁剪所述左校正图像以及所述右校正图像水平方向的边线,其中,所述第二预设裁剪量为所述水平方向应裁剪的黑边值之和与所述水平方向之和的差值的二分之一。
5.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下步骤:
获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表,其中,所述预设坐标映射表包括:X轴坐标映射表和Y轴坐标映射表,坐标映射表记载了校正图像像素点与原始图像亚像素点的对应关系;
按照预设倍率对所述预设坐标映射表进行上采样插值计算,以得到所述原始图像的原始尺寸的坐标映射表;
根据所述原始尺寸的坐标映射表查找校正图像当前像素点在所述原始图像中的坐标位置,并取所述原始图像中包围所述坐标位置的四个整数像素点的像素值进行双线性插值运算,以得到所述当前像素点的像素值; 所述计算机程序在被所述处理器执行获取双目相机摄像头对应校正图像与原始图像的预设坐标映射表的步骤之前,还被所述处理器执行以下步骤:
按照反向映射方式确定所述预设坐标映射表具体实现如下步骤:
S1,对双目相机进行标定,获取所述双目相机的相机参数,以将所述相机参数作为预定极限几何校正模型和预定镜头畸变校正模型的输入参数;
S2,将虚拟校正图像的预定像素点的坐标位置分别作为输入数据逆向代入到预定极限几何校正模型中进行反向映射,以得到在虚拟的无畸变图像中所述预定像素点对应的第一亚像素位置;
S3,将所述第一亚像素位置的坐标位置作为输入数据逆向带入到预定镜头畸变校正模型中进行反向映射,以得到在所述原始图像中所述预定像素点对应的亚像素位置;
S4,在所述虚拟校正图像的每个像素点均确定了在原始图像中对应的亚像素位置的情况下,确定得到所述虚拟校正图像的初始坐标映射表;
S5,按照所述初始坐标映射表对双目相机拍摄的原始图像进行校正,得到校正图像;
S6,按照第一预设剪裁规则对所述校正图像进行黑边剪裁,并确定剪裁后所述校正图像的主点偏移量;
S7,根据所述主点偏移量修正所述相机参数中的主点坐标位置,以确定新的主点坐标位置;
S8,根据所述新的主点坐标位置执行S1至S4,以得到第一坐标映射表;
所述计算机程序在被所述处理器执行得到第一坐标映射表的步骤之后,还被所述处理器执行以下步骤:
对所述第一坐标映射表中每个所述坐标位置进行定点化处理,以得到具有亚像素等级的所述校正图像的第二坐标映射表所述计算机程序在被所述处理器执行得到具有亚像素等级的所述校正图像的第二坐标映射表的步骤之后,还被所述处理器执行以下步骤:
根据所述第二坐标映射表对原始图像进行校正,得到校正图像;
按照第二预设剪裁规则对所述校正图像进行黑边剪裁,其中,所述第二预设剪裁规则为裁剪后的图像高宽比不变;
对所述校正图像对应的裁剪区域内的第二坐标映射表进行线性下采样,以得到第三坐标映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711342048.0A CN109961401B (zh) | 2017-12-14 | 2017-12-14 | 一种双目相机的图像校正方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711342048.0A CN109961401B (zh) | 2017-12-14 | 2017-12-14 | 一种双目相机的图像校正方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109961401A CN109961401A (zh) | 2019-07-02 |
CN109961401B true CN109961401B (zh) | 2022-10-04 |
Family
ID=67018377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711342048.0A Active CN109961401B (zh) | 2017-12-14 | 2017-12-14 | 一种双目相机的图像校正方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109961401B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427898B (zh) * | 2019-08-07 | 2022-07-29 | 广东工业大学 | 包裹安检识别方法、系统、装置及计算机可读存储介质 |
CN112529784B (zh) * | 2019-09-18 | 2024-05-28 | 华为技术有限公司 | 图像畸变校正方法及装置 |
CN110958362A (zh) * | 2019-11-27 | 2020-04-03 | 湖南海森格诺信息技术有限公司 | 基于分块查表的图像校正系统及其方法 |
CN111145271B (zh) * | 2019-12-30 | 2023-04-28 | 广东博智林机器人有限公司 | 相机参数的精确度的确定方法、装置、存储介质及终端 |
CN111225201B (zh) * | 2020-01-19 | 2022-11-15 | 深圳市商汤科技有限公司 | 视差校正方法及装置、存储介质 |
CN112037301A (zh) * | 2020-08-27 | 2020-12-04 | 上海联影医疗科技股份有限公司 | 重建图像的校正方法、装置和存储介质 |
CN112133249B (zh) * | 2020-09-09 | 2021-11-30 | 深圳创维-Rgb电子有限公司 | Oled显示校正方法、系统及存储介质 |
CN112270656B (zh) * | 2020-09-10 | 2022-02-22 | 成都市精卫鸟科技有限责任公司 | 一种图像校正方法、装置、设备和介质 |
CN113160321B (zh) * | 2021-02-22 | 2023-12-26 | 中国科学院上海微系统与信息技术研究所 | 一种实时图像序列的几何映射方法和装置 |
CN115486060A (zh) * | 2021-03-31 | 2022-12-16 | 京东方科技集团股份有限公司 | 色彩校正方法、现场可编程门阵列、芯片和显示设备 |
CN113129238B (zh) * | 2021-04-29 | 2023-01-06 | 青岛海信移动通信技术股份有限公司 | 拍照终端及图像校正方法 |
CN113674340A (zh) * | 2021-07-05 | 2021-11-19 | 北京物资学院 | 一种基于路标点的双目视觉导航方法与装置 |
CN113489964B (zh) * | 2021-07-15 | 2022-11-15 | 中国人民解放军火箭军工程大学 | 一种基于三目视觉的场景深度信息获取系统 |
CN113534737B (zh) * | 2021-07-15 | 2022-07-19 | 中国人民解放军火箭军工程大学 | 一种基于多目视觉的ptz球机控制参数获取系统 |
CN113962892A (zh) * | 2021-10-25 | 2022-01-21 | 上海闻泰信息技术有限公司 | 校正广角镜头图像畸变的方法、装置及照相设备 |
CN114449245B (zh) * | 2022-01-28 | 2024-04-05 | 上海瞳观智能科技有限公司 | 一种基于可编程芯片的实时双路视频处理系统及其方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012053740A (ja) * | 2010-09-02 | 2012-03-15 | Mitsubishi Electric Corp | 画像処理方法および画像処理装置 |
CN104778656A (zh) * | 2015-04-22 | 2015-07-15 | 江苏物联网研究发展中心 | 基于球面透视投影的鱼眼图像校正方法 |
US9536287B1 (en) * | 2015-07-09 | 2017-01-03 | Intel Corporation | Accelerated lens distortion correction with near-continuous warping optimization |
CN106683045A (zh) * | 2016-09-28 | 2017-05-17 | 深圳市优象计算技术有限公司 | 一种基于双目像机的全景图像拼接方法 |
CN106815808A (zh) * | 2017-01-20 | 2017-06-09 | 长沙全度影像科技有限公司 | 一种利用分块运算的图像拼接方法 |
CN106919360A (zh) * | 2017-04-18 | 2017-07-04 | 珠海全志科技股份有限公司 | 一种头部姿态补偿方法及装置 |
-
2017
- 2017-12-14 CN CN201711342048.0A patent/CN109961401B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012053740A (ja) * | 2010-09-02 | 2012-03-15 | Mitsubishi Electric Corp | 画像処理方法および画像処理装置 |
CN104778656A (zh) * | 2015-04-22 | 2015-07-15 | 江苏物联网研究发展中心 | 基于球面透视投影的鱼眼图像校正方法 |
US9536287B1 (en) * | 2015-07-09 | 2017-01-03 | Intel Corporation | Accelerated lens distortion correction with near-continuous warping optimization |
CN106683045A (zh) * | 2016-09-28 | 2017-05-17 | 深圳市优象计算技术有限公司 | 一种基于双目像机的全景图像拼接方法 |
CN106815808A (zh) * | 2017-01-20 | 2017-06-09 | 长沙全度影像科技有限公司 | 一种利用分块运算的图像拼接方法 |
CN106919360A (zh) * | 2017-04-18 | 2017-07-04 | 珠海全志科技股份有限公司 | 一种头部姿态补偿方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于投影模型和图像融合的拼接畸变消除算法;姚路等;《计算机应用与软件》;20160715(第07期);全文 * |
鱼眼视频图像畸变的实时校正方法;吕耀文等;《吉林大学学报(理学版)》;20170126(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109961401A (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961401B (zh) | 一种双目相机的图像校正方法和存储介质 | |
JP7291244B2 (ja) | プロジェクタの台形補正方法、装置、システム及び読み取り可能な記憶媒体 | |
CN112434709B (zh) | 基于无人机实时稠密三维点云和dsm的航测方法及系统 | |
JP5437311B2 (ja) | 画像補正方法、画像補正システム、角度推定方法、および角度推定装置 | |
JP5812716B2 (ja) | 画像処理装置および方法 | |
US20230252664A1 (en) | Image Registration Method and Apparatus, Electronic Apparatus, and Storage Medium | |
CN113344998B (zh) | 深度检测方法、装置、计算机设备及存储介质 | |
CN113192179B (zh) | 一种基于双目立体视觉的三维重建方法 | |
CN110868541A (zh) | 视场融合方法及装置、存储介质、终端 | |
CN109005334A (zh) | 一种成像方法、装置、终端和存储介质 | |
TWI764506B (zh) | 視差校正方法及裝置、電腦可讀儲存介質 | |
WO2021003807A1 (zh) | 一种图像深度估计方法及装置、电子设备、存储介质 | |
US8340399B2 (en) | Method for determining a depth map from images, device for determining a depth map | |
CN114648458A (zh) | 鱼眼图像矫正方法、装置、电子设备及存储介质 | |
US20170289516A1 (en) | Depth map based perspective correction in digital photos | |
US7561306B2 (en) | One-dimensional lens shading correction | |
CN114616586A (zh) | 图像标注方法、装置、电子设备及计算机可读存储介质 | |
CN116012227A (zh) | 图像处理方法、装置、存储介质及处理器 | |
WO2023151386A1 (zh) | 数据处理方法、装置、终端和可读存储介质 | |
JPH0981746A (ja) | 二次元表示画像生成方法 | |
CN115661258A (zh) | 标定方法及装置、畸变校正方法及装置、存储介质、终端 | |
KR100489894B1 (ko) | 양안식 스테레오 영상의 카메라 광축 간격 조절 장치 및그 방법 | |
CN111915741A (zh) | 一种基于三维重建的vr生成器 | |
CN112465913A (zh) | 一种基于双目相机的校正方法及装置 | |
CN112150532A (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 |