预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

图像匹配与拼接 分匹配和拼接两部分一、匹配当然匹配的方法,有sift,surf什么的,这里主要就介绍一下我自己的方法啦!特征点提取是必须的,不然搜索范围太大哇!并且可能不可靠,所以特征点提取是必须的。什么点适合做特征点呢?这方面的论文很多啦,主要还是看你用什么方法匹配了,如果是用互相关作为相似性准则的话,那自相关系数随各个方向变化大的点就适合作特征点了,当然还要考虑稳定性,即特征点应该不太受光照、噪声、缩放、旋转等的影响,这样的才是好的特征点。当然,如果确定了应用坏境,不一定要满足不受上四个因素影响的,比如平行的双目匹配、全景图的匹配等,具体问题具体分析吧!角点特征是个人比较喜欢的特征。这里我自己定义了一种局部特征,效果还行,匹配采用互相关为准则的匹配,大概效果如下: 目测这几个匹配点还是正确的哇!在一些应用中,可能需要的匹配点数相当多,这就需要较密集的匹配了。密集的匹配可以根据初始的匹配结果估计搜索范围,这可以加速搜索,同时也要提取更多的特征点呀!话不多说了,下面是密集的匹配: 虽然这样的密度对于三维重构来说还不够,但对于一般的图像拼接来说足够了。匹配完了,下面就要将第二步了。二、矫正匹配好两幅图像了,接下来干啥呢?把它们对准呗。可惜了,两幅图像之间不但存在平移,还存在旋转缩放什么的,更复杂的,可能还存在所谓的3D变换,那就复杂啦!不管怎么样,所谓的对准,也就是矫正,总是基于一定的模型的,即基于相机拍摄两幅图像的相对姿态。对于全景图拼接(个人觉得是最简单的且较实用的拼接),需要根据相机焦距或者视场角投影到柱面上,然后两幅图像间的位置就只有一维的平移关系了。但是这对拍摄的相机也是有要求的,就是要保证拍摄两幅图像时,物防焦点是重合的,这样才能根据稀疏的几个点确定所有重叠区域内点的相对位置呀!但实际中很难做到物方焦点重合,比如数码相机或者所谓的智能手机的全景图拍摄,一般人都是拿着相机或者手机绕人旋转,而非绕物方焦点旋转拍摄的,这样拼接起来是绝对有误差的呀!特别是拼接近景,误差就更大了,远景还好。怎么克服这个缺点呢?简单的改进方法就是绕着摄像头旋转吧,虽然这也不是严格绕物方焦距旋转,但起码误差小得多啦,拼接的效果当然也就好得多了,可以试一试哦!不扯了,第二种模型就是认为两幅图像间存在的变换关系是有2D旋转、缩放、平移的,可以通过一个旋转、缩放、平移矩阵来矫正,这个也不难,但是应用范围却相当有限,不详说了。第三种模型就是不用模型,或者说认为两幅图像间的对应点存在的是一种线性变换关系,这样只要解一个线性方程组就可以了,似乎也挺简单的。但可惜的是,不是任给的两幅图像间都只存在线性变换呀!它可能是一个3D的线性变换,那就麻烦了,这个必须需要密匹配呀!不然就一定是有误差的,即不能通过稀疏的匹配点来矫正两幅图像的所有对应点的。还有更多的模型,比如各方位的全景图,需要投影到球面上的哇!不过这个模型也不难。最难的当然是拍摄两幅图像时,相机不同,相机姿态也不同了,这个是很有挑战的,我也很惧怕这个。下面展示三种矫正结果:1、2D线性模型: 2D矫正,认为匹配点之间存在线性变换,X=ax+by+c,Y=dx+ey+e这样的模型,业内称之放射变换,其中x,y是第一幅点的坐标,X,Y是对应的第二幅图像中的点坐标,使用最小二乘法计算a、b、c、d、e、f,第二幅图相对于第一幅图矫正的结果就是这样的了2D线性变换的拼接,目测效果还行 2、2D平移、旋转、缩放模型: 2D矫正,认为第二幅图相对第一幅图只存在平移、旋转、放缩变换,当然这里的平移没体现出来,我把它的平移参数放在程序里面了,这也是利用最小二乘法解的放大系数、旋转角度和平移参数的,分别解的,矫正结果就是这样了2D旋转矫正的拼接,目测效果也不是很好 3、柱面投影模型: 柱面投影,这两幅是匹配前的柱面投影,即把原始的两幅图像投影到柱面上,然后再匹配拼接,选择的视场角为40°。当然,实际上这两幅图并不是共物方焦点的关系,柱面投影是不太恰当的柱面投影模型的拼接,显然不太对啦 必须说明一下,拼接效果是跟拍摄的模型相关的,拍摄时相机间是什么模型,矫正时就用什么模型。这两幅图其实是3D变换,上面3种方法都是有误差的,只是第一种2D线性变换比较接近实际模型而已,所以拼接效果就好一点啦!三、拼接缝消除 对于上面的两幅图像来说,矫正后直接放在一起就看不出拼接缝啦!但是一般情况下没有这么理想,两幅图像的亮度总是不一致,直接放在一起有一条很明显的拼接线,怎么办?消除。消除拼接线可不简单啊,最简单的是加权法,这种方法虽然能消除一条剧烈跃变的拼接线,但同时可能引入一条较宽的拼接条,下图就很好地说明这一点了。 矫正后直接放在一起的,拼接线很明显 用加权法融合拼接线附近,拼接线展成拼接条了 如果消除上图中的拼接条?当然方法还是很多的