Apap图像配准算法[通俗易懂]

Apap图像配准算法[通俗易懂]Apap图像配准算法

大家好,又见面了,我是你们的朋友全栈君。

图像配准

图像配准是将两张场景相关的图像进行映射,寻找其中的关系,多用在医学图像配准、图像拼接、不同摄像机的几何标定等方面,其研究也较为成熟。OpenCv中的stitching类就是使用了2007年的一篇论文(Automatic panoramic image stitching using invariant features)实现的。虽然图像配准已较为成熟,但其实其精度、鲁棒性等在某些场合仍不足够,如光线差异很大的两张图片、拍摄角度差异很大的图片等。2013年,Julio Zaragoza等人发表了一种新的图像配准算法Apap(As-Projective-As-Possible Image Stitching with Moving DLT),该算法的效果还是不错的,比opencv自带的auto-stitch效果要好。而2015年也有一篇cvpr是介绍图像配准(Non-rigid Registration of Images with Geometric and Photometric Deformation by Using Local Affine Fourier-Moment Matching),其效果貌似很牛,但没有源码,难以检验。本文简单介绍Apap。

Apap

项目地址:http://cs.adelaide.edu.au/~jzaragoza/doku.php?id=mdlt
下面简单介绍Apap的实现流程:

  1. 提取两张图片的sift特征点
  2. 对两张图片的特征点进行匹配,匹配的过程引用了论文(Distinctive Image Features from Scale-Invariant Keypoints)
  3. 匹配后,仍有很多错误点,此时使用论文(Accelerated Hypothesis Generation for Multi-Structure Robust Fitting)提到的RANSAC的改进算法进行特征点对的筛选。筛选后的特征点基本能够一一对应。
  4. 使用DLT算法(Multiple View Geometry p92提到),将剩下的特征点对进行透视变换矩阵的估计。
  5. 因为得到的透视变换矩阵是基于全局特征点对进行的,即一个刚性的单应性矩阵完成配准。为提高配准的精度,Apap将图像切割成无数多个小方块,对每个小方块的变换矩阵逐一估计。

实验效果

两张原图:这里写图片描述
特征提取和匹配:这里写图片描述
红点为改进RANSAC筛选的错误点,绿线为正确点,能看出所有连线一一对应,并没有明显的错误特征对。
刚性配准:这里写图片描述
Moving_DLT配准:这里写图片描述

结论

Apap虽然能够较好地完成配准,但非常依赖于特征点对。若图像高频信息较少,特征点对过少,配准将完全失效,并且对大尺度的图像进行配准,其效果也不是很好,一切都决定于特征点对的数量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html空格代码是什么?html中空格怎么打「建议收藏」

    html空格代码是什么?html中空格怎么打「建议收藏」html空格代码是什么?html中空格怎么打?对于刚刚入门的新手来说可能比较陌生,下面我们来总结一下html空格代码。打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)一:html空格代码是什么说到html空格代码很多人都会想到&nbsp,其实这也是表示html空格的一种方法,当我们输入十个&nbsp就表示有十个空格,然而在现实中,也有很多人认为html空格就是在html中输入几个空格键,如果是单纯的输入空格键,也是可以起到空格的效果.

    2022年9月22日
    1
  • SVN目录对号图标(更新、冲突)不显示

    SVN目录对号图标(更新、冲突)不显示

    2022年1月9日
    67
  • zen cart template zencart模板修改[通俗易懂]

    zen cart template zencart模板修改[通俗易懂]encarttemplatezencart模板修改byZENCART模板 | postacomment下面简单的介绍下zencart网站模板的修改。修改较多的地方:(常用代码)一:头部文件为(例子):D:AppServwwwzencart12698includestemplatestheme3common–tpl_header.php1.

    2022年7月27日
    5
  • dropdownlist1 绑定 value值

    dropdownlist1 绑定 value值DropDownList1.Items.Add(newListItem(dr[“status”].ToString(),dr[“status_Id”].ToString()));里面的两个参数都必须是string类型的,第一个参数是text,第二个参数是value转载于:https://www.cnblogs.com/tiancai/archive/2011/08/1…

    2022年7月18日
    16
  • ubuntu samba share 共享 windows linux

    ubuntu samba share 共享 windows linux

    2021年4月30日
    180
  • rpc接口调用实例_rpc中间件

    rpc接口调用实例_rpc中间件RPC框架的讨论一直是各个技术交流群中的热点话题,阿里的dubbo,新浪微博的motan,谷歌的grpc,以及不久前蚂蚁金服开源的sofa,都是比较出名的RPC框架。RPC框架,或者一部分人习惯称之为服务治理框架,更多的讨论是存在于其技术架构,比如RPC的实现原理,RPC各个分层的意义,具体RPC框架的源码分析…但却并没有太多话题和“如何设计RPC接口”这样的业务架构…

    2022年10月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号