2024年5月16日发(作者:严雨)
2010年
第1期
工程图学学报
JOURNALOFENGINEERINGGRAPHICS
2010
No.1
利用鱼眼镜头生成全景图像的方法
邓松杰
1
,周松斌
2
,程韬波
2
(1.中国科学院广州地球化学研究所遥感与GIS专业,广东广州510640;
2.广东省科学院自动化工程研制中心,广东广州510070)
摘要:介绍了一种利用鱼眼镜头在特殊角度下所拍摄成的图像,以优化的快速展
开模型为基础,经过像点坐标变换、双三次插值及内部拼接,生成全景图像的方法。该方法
无须运用多幅标准照片拼接,且无须运用柱面模型及成像仪器的参数。最后从MATLAB仿
真的实例中验证了此方法的有效性。
关键词:计算机应用;全景图像;快速展开模型;鱼眼图像
文章编号:1003-0158(2010)01-0135-04
中图分类号:TP391.4
文献标识码:A
Omni-DirectionalImageMakingBasedonFisheyeLens
DENGSong-jie
1
,ZHOUSong-bin
2
,CHENGTao-bo
2
(&GIS,GuangzhouInstituteofGeochemistry,ChineseAcademyofSciences,GuangzhouGuangdong510640,China;
tionEngineeringR&MCenter,GuangdongAcademyofSciences,GuangzhouGuangdong510070,China)
Abstract:Baseonanoptimizedfastoutspreadtheory,fisheyelensimagecanbetransformed
sbytransformingthecoordinateswiththebicubic
snoneedofstitchingsomephotostakenbycameraor
nd,theeffectivenessof
themethodisdemonstratedbythefinalexamplesbywayofMATLAB.
Keywords:computerapplication;omni-directionalimage;fastoutspreadtheory;fisheye
lensimage
全景图像生成技术近期发展迅速,传统的方
法主要有利用多幅照片拼接的方法
[1-5]
和基于柱
面模型变换的方法
[6-9]
。多幅照片拼接的方法操作
麻烦,缺乏实用性和实时性;基于柱面模型变换
的方法,理论模型较为复杂,且需要考虑摄像头
焦距、镜头双曲面方程等参数,在真实系统中难
以运用。为了克服上述缺点,本文提出了一种利
用鱼眼镜头生成全景图像的方法。由于无论是通
过计算机生成的图像,还是经过光学投射在成像
元件如CCD中形成的数字图像,都是基于像素
点矩阵的,且无论是柱面模型变换或是其他模型
的变换也只是按照一定的数学关系对图像像素
收稿日期:2008-04-17
作者简介:邓松杰(1980-),男,广东高要人,硕士研究生,主要研究方向为遥感、自动化及图像处理。
136工程图学学报2010年
点矩阵进行变换,若非运用插值或变换过程中数
据的丢失,像素点的数量是不会发生变化的。所
以基于这种思想,本文运用一种优化的快速展开
模型,结合双三次插值
[10]
和内部拼接的方法,达
到生成全景图的目的。
1原理
1.1均匀的快速展开模型
鱼眼镜头视角大,一般为180°,这使通过鱼
眼镜头生成全景图像具备了理论上的可能性。如
图1所示,此图像为鱼眼镜头在仰视角度下,对
四周景物的一次拍摄。
图1鱼眼镜头仰视拍摄图
根据图像性质,首先假设一种均匀的快速展
开模型。如图2所示,将鱼眼图像像“切蛋糕”
一样,均匀分割若干块,然后展开,分割的块数
越多,像素点分布越均匀,可是分割的块数越多,
运算起来越复杂且原始数据丢失越严重。在上述
情况运用插值,会出现“锯齿形”失真。
图2均匀的快速展开模型
1.2优化的快速展开模型
为了改善失真的情况,设计一种优化的快速
展开模型,如图3所示,鱼眼图像被a,b,c,d,e,
f,g,h线段分割,展开形成8个三角形,每个三
角形由隔一相邻的两条线段与底边组成,两两三
角形之间有一半的区域相同。
f
e
g
d
c
h
a
b
c
d
ef
g
hab
abcdefgh
图3鱼眼图像展开示意图
如图4所示,三角形X,Y中每一行像素点坐
标按比例拉伸,分别变换为矩形A,B,底边长度
保持不变。从两矩形M,N区域内算出缝合线的
位置进行拼接,组合成矩形C。
如此类推,8个三角形进行变换,两两内部
缝合,最终生成全景图像。
c
X
a′c′
A
a
d
Y
b′
d′
b
B
M
b′
A
c′
a′
a′
d′
b′
c′
B
d′
NC
图4任意两子图变换与拼接示意图
2算法
2.1展开算法分析
设鱼眼图像像素点坐标表示为
f(i,j)
,图像
的边长为L,则图像矩阵表达为
第1期邓松杰等:利用鱼眼镜头生成全景图像的方法137
f(1,1)f(1,2)"f(1,j)
f(2,1)f(2,2)"f(2,j)
####
i,j≤L
f(i,1)f(i,2)"f(i,j)
f(i,j)
表示该像点所具有的RGB值,i表示
矩阵的行,j表示矩阵的列。
如图5所示,在鱼眼图像上附加一极坐标系,
图像中心与极坐标系原点重合。假设图像上任意
一点
P(ρ
1
,
1
)
变换到子图像OABC矩阵中,子
矩阵以
f
1
(i
1
,j
1
)
表示,
P
点位置不变,坐标系改
变,
ij
L
1
,
1
≤
2
;点
P(ρ
1
,
1
)
的极坐标形式对应
的笛卡尔坐标形式为
f
1
(i
2
,j
2
)
;
P(ρ
1
,
1
)
通过
优化的快速展开模型变换为矩阵
S
1
(u,v)
中的点
S
1
(u
1
,v
1
)
,它们之间的关系是:
u
1
=ρ
1
,
v
LL
1
=
2ρ
j
2
,
ρ,u≤
2
;当坐标变换完毕后,
1
运用双三次插值,赋值于空白的像点,形成完整
的矩形图像。如此类推,其余的子图通过旋转,
进入图5所示的坐标系中进行变换。
f(1,1)f(1,j)
f
1
(1,1)
f
1
(1,j
1
)
O
C
f
1
(i
2
,j
2
)
C
O
P(ρ
1
,φ
1
)
P(ρ
1
,φ
1
)
f(i,j)
A
B
f(i,1)AB
f
1
(i
1
,1)f
1
(i
1
,j
1
)
S
1
(1,1)S
1
(1,v)
S
1
(u
1
,v
1
)
S
1
(u,1)S
1
(u,v)
图5子图矩阵坐标变换原理图
2.2内部拼接算法分析
鱼眼图像矩阵经过变换计算与双三次插值
后,初步生成8个子图像,如图4中的矩形图像
A与B,其原始像素点分布越往左、右上角则越
稀疏,即失真越严重。此时,需要运用与优化的
快速展开模型算法对应的内部拼接算法改善失
真情况。如图6所示,区域M中任意一列像素点
与区域N中任意一列像素点,两列中同一行的两
像素点比较,当S
1
(u,v
1
)=S
2
(u,v
2
)时,则T=T+1,
T为对应两像素点相等的次数,初始值为零;当
T为最大值时,图像A的v
1
与图像B的v
2
为缝
合线。由于像素点是离散的,进行展开模型变换
时难免会有误差,故缝合线未必就是M,N区域
的中线。然后,将A矩阵大于v
1
列的像素点删除,
将B矩阵小于v
2
列的像点删除,合并A,B矩阵
形成新的矩阵,同样的方法,将8幅子图拼接成
一幅全景图。
S
1
(1,1)S
1
(1,v)S
2
(1,1)S
2
(1,v)
S
1
(u,v
1
)
S
2
(u,v
2
)
AB
S
1
(u,1)
M
S
1
(u,v)
S
2
(u,1)
N
S
2
(u,v)
图6任意两子图内部拼接原理图
3结论
通过MATLAB软件执行上述算法,利用图
1采取上述方法,图7为最终的结果。优化的快
速展开模型变换的实现,只用简单的坐标系转换
和矩阵变换计算,无须通过复杂的柱面模型,无
须考虑鱼眼镜头的参数,只需直接针对鱼眼镜头
拍摄的数字图像矩阵。由于像点矩阵是离散的,
坐标是以整数表示,在变换过程中难免有小部分
原始像素点数据丢失,故在优化的快速展开模型
的前提下配合运用内部拼接算法缝合两两具有
1/2相同部分的8幅子图,能有效补偿变换过程
中像素点数据的丢失和减少图像边缘的误差,改
善均匀快速展开模型的“锯齿形”失真。
MATLAB仿真实验证明了该算法的有效性。
138工程图学学报2010年
图7全景展开图
相关的两步全景图拼接算法[J].系统仿真学报,
参考文献
[6]
[1]封靖波,苏志勋,刘秀平.一种基于相似曲线的全
景图自动拼接算法[J].计算机学报,2003,26(11):
1604-1608.
[2]
[3]
付厚超,陈宗海.基于垂直边缘处理的全景图像的
拼接[J].计算机工程,2004,30(4):132-134.
李立鸿,施鹏飞,赵群飞.基于多分辨率技术的快
速全景图图像匹配算法[J].中国图像图形学报,
2006,11(6):1271-1275.
[4]葛诚,彭启民,刘鹏,等.基于多域分析和全局[9]
[10]
优化的全景图拼接方法[J].中国图像图形学报,
2006,11(7):971-976.
[5]薛峰,张佑生,江巨浪,等.基于最大梯度和灰度
[8]
[7]
2005,17(12):2965-2968.
童宇,刘典型.全景图自动生成算法中几个相关
问题的研究[J].计算技术与自动化,2006,25(3):
111-114.
凌云峰,朱齐丹,吴自新,等.全景视觉图像柱面理
论展开算法实现及其改进[J].应用科技,2006,33(9):
4-6.
徐玮,王炜,张茂军,等.一种基于凸曲面反射
镜的柱面全景图像无缝快速生成系统[J].计算机工
程与科学,2006,28(11):33-36.
平洁,殷润民.一种全景图快速生成算法及其实
现[J].微计算机应用,2006,27(1):59-62.
贺兴华,周媛媛,王继阳,等.MATLAB7.x图像处
理[M].北京:人民邮电出版社,2006.45-49.
2024年5月16日发(作者:严雨)
2010年
第1期
工程图学学报
JOURNALOFENGINEERINGGRAPHICS
2010
No.1
利用鱼眼镜头生成全景图像的方法
邓松杰
1
,周松斌
2
,程韬波
2
(1.中国科学院广州地球化学研究所遥感与GIS专业,广东广州510640;
2.广东省科学院自动化工程研制中心,广东广州510070)
摘要:介绍了一种利用鱼眼镜头在特殊角度下所拍摄成的图像,以优化的快速展
开模型为基础,经过像点坐标变换、双三次插值及内部拼接,生成全景图像的方法。该方法
无须运用多幅标准照片拼接,且无须运用柱面模型及成像仪器的参数。最后从MATLAB仿
真的实例中验证了此方法的有效性。
关键词:计算机应用;全景图像;快速展开模型;鱼眼图像
文章编号:1003-0158(2010)01-0135-04
中图分类号:TP391.4
文献标识码:A
Omni-DirectionalImageMakingBasedonFisheyeLens
DENGSong-jie
1
,ZHOUSong-bin
2
,CHENGTao-bo
2
(&GIS,GuangzhouInstituteofGeochemistry,ChineseAcademyofSciences,GuangzhouGuangdong510640,China;
tionEngineeringR&MCenter,GuangdongAcademyofSciences,GuangzhouGuangdong510070,China)
Abstract:Baseonanoptimizedfastoutspreadtheory,fisheyelensimagecanbetransformed
sbytransformingthecoordinateswiththebicubic
snoneedofstitchingsomephotostakenbycameraor
nd,theeffectivenessof
themethodisdemonstratedbythefinalexamplesbywayofMATLAB.
Keywords:computerapplication;omni-directionalimage;fastoutspreadtheory;fisheye
lensimage
全景图像生成技术近期发展迅速,传统的方
法主要有利用多幅照片拼接的方法
[1-5]
和基于柱
面模型变换的方法
[6-9]
。多幅照片拼接的方法操作
麻烦,缺乏实用性和实时性;基于柱面模型变换
的方法,理论模型较为复杂,且需要考虑摄像头
焦距、镜头双曲面方程等参数,在真实系统中难
以运用。为了克服上述缺点,本文提出了一种利
用鱼眼镜头生成全景图像的方法。由于无论是通
过计算机生成的图像,还是经过光学投射在成像
元件如CCD中形成的数字图像,都是基于像素
点矩阵的,且无论是柱面模型变换或是其他模型
的变换也只是按照一定的数学关系对图像像素
收稿日期:2008-04-17
作者简介:邓松杰(1980-),男,广东高要人,硕士研究生,主要研究方向为遥感、自动化及图像处理。
136工程图学学报2010年
点矩阵进行变换,若非运用插值或变换过程中数
据的丢失,像素点的数量是不会发生变化的。所
以基于这种思想,本文运用一种优化的快速展开
模型,结合双三次插值
[10]
和内部拼接的方法,达
到生成全景图的目的。
1原理
1.1均匀的快速展开模型
鱼眼镜头视角大,一般为180°,这使通过鱼
眼镜头生成全景图像具备了理论上的可能性。如
图1所示,此图像为鱼眼镜头在仰视角度下,对
四周景物的一次拍摄。
图1鱼眼镜头仰视拍摄图
根据图像性质,首先假设一种均匀的快速展
开模型。如图2所示,将鱼眼图像像“切蛋糕”
一样,均匀分割若干块,然后展开,分割的块数
越多,像素点分布越均匀,可是分割的块数越多,
运算起来越复杂且原始数据丢失越严重。在上述
情况运用插值,会出现“锯齿形”失真。
图2均匀的快速展开模型
1.2优化的快速展开模型
为了改善失真的情况,设计一种优化的快速
展开模型,如图3所示,鱼眼图像被a,b,c,d,e,
f,g,h线段分割,展开形成8个三角形,每个三
角形由隔一相邻的两条线段与底边组成,两两三
角形之间有一半的区域相同。
f
e
g
d
c
h
a
b
c
d
ef
g
hab
abcdefgh
图3鱼眼图像展开示意图
如图4所示,三角形X,Y中每一行像素点坐
标按比例拉伸,分别变换为矩形A,B,底边长度
保持不变。从两矩形M,N区域内算出缝合线的
位置进行拼接,组合成矩形C。
如此类推,8个三角形进行变换,两两内部
缝合,最终生成全景图像。
c
X
a′c′
A
a
d
Y
b′
d′
b
B
M
b′
A
c′
a′
a′
d′
b′
c′
B
d′
NC
图4任意两子图变换与拼接示意图
2算法
2.1展开算法分析
设鱼眼图像像素点坐标表示为
f(i,j)
,图像
的边长为L,则图像矩阵表达为
第1期邓松杰等:利用鱼眼镜头生成全景图像的方法137
f(1,1)f(1,2)"f(1,j)
f(2,1)f(2,2)"f(2,j)
####
i,j≤L
f(i,1)f(i,2)"f(i,j)
f(i,j)
表示该像点所具有的RGB值,i表示
矩阵的行,j表示矩阵的列。
如图5所示,在鱼眼图像上附加一极坐标系,
图像中心与极坐标系原点重合。假设图像上任意
一点
P(ρ
1
,
1
)
变换到子图像OABC矩阵中,子
矩阵以
f
1
(i
1
,j
1
)
表示,
P
点位置不变,坐标系改
变,
ij
L
1
,
1
≤
2
;点
P(ρ
1
,
1
)
的极坐标形式对应
的笛卡尔坐标形式为
f
1
(i
2
,j
2
)
;
P(ρ
1
,
1
)
通过
优化的快速展开模型变换为矩阵
S
1
(u,v)
中的点
S
1
(u
1
,v
1
)
,它们之间的关系是:
u
1
=ρ
1
,
v
LL
1
=
2ρ
j
2
,
ρ,u≤
2
;当坐标变换完毕后,
1
运用双三次插值,赋值于空白的像点,形成完整
的矩形图像。如此类推,其余的子图通过旋转,
进入图5所示的坐标系中进行变换。
f(1,1)f(1,j)
f
1
(1,1)
f
1
(1,j
1
)
O
C
f
1
(i
2
,j
2
)
C
O
P(ρ
1
,φ
1
)
P(ρ
1
,φ
1
)
f(i,j)
A
B
f(i,1)AB
f
1
(i
1
,1)f
1
(i
1
,j
1
)
S
1
(1,1)S
1
(1,v)
S
1
(u
1
,v
1
)
S
1
(u,1)S
1
(u,v)
图5子图矩阵坐标变换原理图
2.2内部拼接算法分析
鱼眼图像矩阵经过变换计算与双三次插值
后,初步生成8个子图像,如图4中的矩形图像
A与B,其原始像素点分布越往左、右上角则越
稀疏,即失真越严重。此时,需要运用与优化的
快速展开模型算法对应的内部拼接算法改善失
真情况。如图6所示,区域M中任意一列像素点
与区域N中任意一列像素点,两列中同一行的两
像素点比较,当S
1
(u,v
1
)=S
2
(u,v
2
)时,则T=T+1,
T为对应两像素点相等的次数,初始值为零;当
T为最大值时,图像A的v
1
与图像B的v
2
为缝
合线。由于像素点是离散的,进行展开模型变换
时难免会有误差,故缝合线未必就是M,N区域
的中线。然后,将A矩阵大于v
1
列的像素点删除,
将B矩阵小于v
2
列的像点删除,合并A,B矩阵
形成新的矩阵,同样的方法,将8幅子图拼接成
一幅全景图。
S
1
(1,1)S
1
(1,v)S
2
(1,1)S
2
(1,v)
S
1
(u,v
1
)
S
2
(u,v
2
)
AB
S
1
(u,1)
M
S
1
(u,v)
S
2
(u,1)
N
S
2
(u,v)
图6任意两子图内部拼接原理图
3结论
通过MATLAB软件执行上述算法,利用图
1采取上述方法,图7为最终的结果。优化的快
速展开模型变换的实现,只用简单的坐标系转换
和矩阵变换计算,无须通过复杂的柱面模型,无
须考虑鱼眼镜头的参数,只需直接针对鱼眼镜头
拍摄的数字图像矩阵。由于像点矩阵是离散的,
坐标是以整数表示,在变换过程中难免有小部分
原始像素点数据丢失,故在优化的快速展开模型
的前提下配合运用内部拼接算法缝合两两具有
1/2相同部分的8幅子图,能有效补偿变换过程
中像素点数据的丢失和减少图像边缘的误差,改
善均匀快速展开模型的“锯齿形”失真。
MATLAB仿真实验证明了该算法的有效性。
138工程图学学报2010年
图7全景展开图
相关的两步全景图拼接算法[J].系统仿真学报,
参考文献
[6]
[1]封靖波,苏志勋,刘秀平.一种基于相似曲线的全
景图自动拼接算法[J].计算机学报,2003,26(11):
1604-1608.
[2]
[3]
付厚超,陈宗海.基于垂直边缘处理的全景图像的
拼接[J].计算机工程,2004,30(4):132-134.
李立鸿,施鹏飞,赵群飞.基于多分辨率技术的快
速全景图图像匹配算法[J].中国图像图形学报,
2006,11(6):1271-1275.
[4]葛诚,彭启民,刘鹏,等.基于多域分析和全局[9]
[10]
优化的全景图拼接方法[J].中国图像图形学报,
2006,11(7):971-976.
[5]薛峰,张佑生,江巨浪,等.基于最大梯度和灰度
[8]
[7]
2005,17(12):2965-2968.
童宇,刘典型.全景图自动生成算法中几个相关
问题的研究[J].计算技术与自动化,2006,25(3):
111-114.
凌云峰,朱齐丹,吴自新,等.全景视觉图像柱面理
论展开算法实现及其改进[J].应用科技,2006,33(9):
4-6.
徐玮,王炜,张茂军,等.一种基于凸曲面反射
镜的柱面全景图像无缝快速生成系统[J].计算机工
程与科学,2006,28(11):33-36.
平洁,殷润民.一种全景图快速生成算法及其实
现[J].微计算机应用,2006,27(1):59-62.
贺兴华,周媛媛,王继阳,等.MATLAB7.x图像处
理[M].北京:人民邮电出版社,2006.45-49.