图像拼接技术

图像拼接:

图像拼接的步骤

  • 对每幅图进行特征点提取
  • 对对特征点进行匹配
  • 进行图像配准
  • 把图像拷贝到另一幅图像的特定位置
  • 对重叠边界进行特殊处理
     图像拼接的每个步骤详解
  • 特征点提取(图像的特征包括点,线,块特征)
1.1 灰度图转换

//灰度图转换
Mat image1, image2;
cvtColor(image01, image1, CV_RGB2GRAY);

1.2 提取特征点
  • 涉及的数据结构
    SurfFeatureDetector 特征检测器是一个类,里面有用到的方法detect()
    vector
    KeyPoint( Point2f _pt, float _size, float _angle=-1, float _response=0, int _octave=0, int_class_id=-1 )
    1. pt是关键点的坐标
    2. size是关键点的邻域直径
    3. angle是关键点的方向,在[0,360]度之间,方向与图像坐标系有关,例 如顺时针
    4. response是最强特征点被选择的响应,可用来进行更近一步的排序或子 采样
    5. octave是关键点提取所在的金字塔层数
    6. class_id 若关键点被聚类的话,class_id是关键点所在聚类的id
      特征点也有方向?

1.SIFT学习–确定特征点的方向 - CSDN博客 https://blog.csdn.net/ro9er/article/details/7405036
为了保证特征点的方向不变性,就要确定特征点的方向,那么特征点的方向可以用下面的公式:
其中 为(x,y)处的梯度大小而 为该点的梯度方向
每个特征点都有自己的位置,所在方向,尺度的属性。只有确定了关键点的方向和大小才能保证旋转不变性和伸缩不变性。
2.opencv中SiftDescriptorExtractor所做的SIFT特征向量提取工作简单分析 - CSDN博客 https://blog.csdn.net/u012556077/article/details/47128439
(对于一个关键点找到方向,计算他周围的16个像素,旋转,每个像素映射到8个方向,都映射过去根据梯度计算方向,可以得到每一行就是128个特征向量。)
 detect(image1, keyPoint1) 提取第一张图片的特征点,存放在一个向量里面
 detect( const Mat& image, vector& keypoints, const Mat&mask=Mat() ) con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值