简单的图像拼接实现

第一步:简单的图像拼接:

简单的图像拼接

  1. 对每幅图进行特征点提取,选择速度更快的ORB特征,并结合图像金字塔增强尺度变换的鲁棒性。

       计算速度:            ORB>>SURF>>SIFT(各差一个量级)

       旋转鲁棒性:        SURF>ORB~SIFT(表示差不多)

      模糊鲁棒性:        SURF>ORB~SIFT

      尺度变换鲁棒性: SURF>SIFT>ORB(ORB并不具备尺度变换性)

2、对特征点进行匹配

     KD树搜索。

3、进行图像配准

     计算单应矩阵,DLT。

4、把图像拷贝到另一幅图像的特定位置

5、融合两幅图像

       两图因为光照色泽的原因使得两图交界处的过渡模糊,需要特定的处理解决这种不自然。简单的方法是加权融合,在重叠部分由前一幅图像慢慢过渡到第二幅图像,即将图像的重叠区域的像素值按一定的权值相加合成新的图像。

      实现一个图像的线性渐变,对于重叠的区域,靠近左边的部分,让左边图像内容显示的多一些,靠近右边的部分,让右边图像的内容显示的多一些。用公式表示就是,假设 alpha 表示像素点横坐标到左右重叠区域边界横坐标的距离,新的像素值就为 newpixel = 左图像素值 × (1 - alpha) + 右图像素值 × alpha 。可以实现一个简单的融合效果。

6、多频段混合

   基于07年马修.布朗等人的论文:

Automatic Panoramic Image Stitching using Invariant Features

 过程:

 

natlab实例:

目标:将图像2移到图像1右边。

思想:求出满足x2=H*x1的单应H,因此将x1的横坐标扩展,由x1右侧坐标求出在图像2中的对应点。

输入图像1:

输入图像2:

关键步骤:

Step1 求出单应矩阵H,满足

        X2=H*x1

Step2 计算图像的重叠范围。

    针对重叠区域的横坐标范围,将图1的右上和右下坐标映射至图像2中,表示图1与图像2的横坐标重叠范围。在融合图像中满足:

    x_cor=W-round(max([new_corner(1,3),new_corner(1,4)]));

step3 图像拷贝

结果:

 

step4 混合图像的重叠区域: 宽度: x_cor:W

       融合算法的输入图像,分别选取图1和上图映射后图2的公共区域。

结果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值