图像拼接算法的基本原理

图像拼接算法的基本原理转自 http blog csdn net yuyin86 article details 全景视频是一种利用 360 度全景图象建立虚拟环境的新方法 全景图象是通过将普通照相机拍照到的边界部分重叠的图象进行拼接而创建的 可以利用图象重叠部分对应像素的相似性 通过采用一种行之有效的拼接算法 使得到的图象无缝平滑 来自研学论坛 Walkfarer 和 SCQ 的帖子 http

转自:http://blog.csdn.net/yuyin86/article/details/

全景视频是一种利用360 度全景图象建立虚拟环境的新方法。全景图象是通过将普通照相机拍照到的边界部分重叠的图象进行拼接而创建的。可以利用图象重叠部分对应像素的相似性, 通过采用一种行之有效的拼接算法, 使得到的图象无缝平滑。

来自研学论坛 Walkfarer和SCQ的帖子:

http://bbs.matwav.com/post/view?bid=6&id=&sty=3&age=0&tpg=1&ppg=1#

以上是我阅读了一些文章总结出来的,贻笑大方了。希望各位修正或添加之。

csq*
我来补充吧.
1 频率域: 一般是用fourier的相位相关,可以估计出频移,旋转,缩放。
频移没什么好讨论的,比较简单, 估计缩放和旋转一般是变到极坐标系去做,无数的paper讨论这个问题,前面讨论“怎样判断两幅图像有没有重叠”的帖子,我给了一篇paper,今年ieee tran ip的。 还不错。频率域的有人做sub-pixel. 这个我也说过, university of centrl florida 的那个什么faroon (名字记不清了), 写了一篇这样的,但好像只能处理频移的sub-pixel. 我还发email问过他有没有处理旋转的sub-pixel. 他没有回。 ft.
2.空域:
1 。楼主遗漏了基于intensity的方法,不过确实用的不多了。
2。 特征的方法:
看来最多的是 point-rgistration. 不过还是有做用边缘啊那些其他特征去拼的人 。
下面我就介绍一下point发.
Point-registration:
1.经典的harris point, 现在有不少修正版 ,因为harris 当时对参数的选择并没有给出很好的建议,所以参数选择比较烦,我以前就试过很多参数.
参考文献:A Mathematical Comparison of Point Detectors
Evaluation of Interest Point Detectors
找到特征点那就要去匹配拉。
一般是先初步估计一下,剔出差太多的匹配对。 可以用intensity的各种方法,但是这就摆出一个问题: 光照。 很麻烦,两幅图的光照差很多的话,有可能根本弄不出来匹配的点,但你从图上明显可以看到很多对都是匹配的。这个等会讨论。
2.然后进一步估计匹配,RANSAC用的最多,也有其他的方法, 像paper: MLESAC- A new robust estimator with application to estimating image geometry.
估计出匹配对,然后就要算那个乱七八糟的矩阵。 又是很多方法可以来做。一般是各种优化算法像 LM之类的。
3.算出矩阵,然后把一个变到另外一个的坐标系,就是融合的问题了。咋个无缝拼接是个问题。 Szeliski的方法用的多,paper我忘了,等会那篇review里面可以查到。
















SIFT 方法好,可以解决一些问题,

http://hi.baidu.com/simonyuee/blog/item/24961f6dfaa543fa431694bd.html


最佳缝合线算法有助于消除鬼影,以得到较好的视觉效果,这里转载该博主的文章,方便自己查阅学习,若有不妥,请联系本人。

原文:http://blog.csdn.net/wd/article/details/

理论根据《图像拼接的改进算法》,据说这个算法可以消除重叠部分运动物体的重影和鬼影问题,所以就编下试试看,反正之前编的那种很老的取平均值法融合、渐入渐出(基于距离)融合、以及改进的三角函数权重融合都只是适合静态图像融合 有重影和鬼影问题 不适合有运动物体的图像融合,所以还是要最佳缝合线算法:看论文上就四步 很清晰也很好懂 结果自己写的时候才发现看起来很容易的也许编起来没那么容易 之前 想得太简单了。

缝合线算法:

D=uint8(D);

还是以那两幅图为例:

在这里插入图片描述

结果:

在这里插入图片描述

眼啊!这哪里最佳了??!!

貌似理论部分没编错啊 哪里有问题呢 还是运行最佳缝合线本来就应该是这样?为了验证下 在另一篇也讲最佳缝合线算法的论文里 《全景图像拼接关键技术研究》下载了两张图片,看找出来最佳缝合线是否和这个作者的近似或者一样

在这里插入图片描述

用下改进的三角函数权重的融合结果:

用下改进的三角函数权重的融合结果
果然改进的肉眼看不出来效果 但它们两个都有重影 比较严重的重影!用下刚刚编的最佳缝合线算法看看 这是差值图像:

在这里插入图片描述

然后这是最佳缝合线得到的D:

然后这是最佳缝合线得到的D:

可以看到用最佳缝合线后没有重影了 那棵树那里以及那棵大树旁边两棵树没有重影了 可以和渐入渐出以及改进的那个对比下 这个已经没有重影了 原来最佳缝合线还是有用的喔

我想把这幅图中找到的最佳缝合线画出来 ,其实我放大后看得到那条最佳缝,我想想怎么画出来:

在这里插入图片描述

这条白线就是用上面的最佳缝合线程序找到的最佳缝合线 感觉好像一道白色的闪电 上面看不太出来 用黑色画下:

这条白线就是用上面的最佳缝合线程序找到的最佳缝合线  感觉好像一道白色的闪电 上面看不太出来  用黑色画下:

这样就看得清了这就是找到的最佳缝合线 的确是避开了那些重影物体 我是这样来写的 其实就是和上面的H矩阵不一样 这个计算出来平移距离是76 竖直方向其实有5个像素的平移量 但我懒得改上面的了 直接只改了rdata1=-76 所以和那个论文中找的最佳缝合线有点点差别 不过没多大关系 因为我指望着像《图像拼接的改进算法》里说的那样找到最佳缝合线后还要进行多分辨率拼接的 就像之前我编渐入渐出时初步得到H矩阵变换后的结果也是有点没对齐的,但是融合时用渐入渐出后它就完完全全对齐了 这个也是一样的 我猜想后续的多分辨率拼接也可以做到这样的效果 虽然现在得到的最佳缝合线有点没对齐的样子 因为我没用竖直方向的平移量rdata2=5,其实加上一样的 但太麻烦了因为我再看一次程序 然后重新计算 我下次再去改!现在这样就行了 竖直方向没对齐的我就依靠后续的多分辨率算法好了 但当竖直方向的平移量rdata2很大时以及有旋转关系时 也要重新计算 不能只算一个rdata1 绝对不能这样 会影响后续多分辨率的效果!

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

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

(0)
上一篇 2025年11月6日 上午11:01
下一篇 2025年11月6日 上午11:22


相关推荐

  • GIT 添加远程仓库的步骤

    GIT 添加远程仓库的步骤1 添加远端仓库 gitremoteadd nameofrepo linkofgit 然后可以通过 gitremote v 查看添加的仓库 2 拉回代码 gitfetch nameofrepo 3 建立本地分支 gitcheckout b nameofbranch nameofrepo branchofrepo

    2026年3月19日
    2
  • 向量积的坐标运算公式推导_向量积坐标表示公式

    向量积的坐标运算公式推导_向量积坐标表示公式展开全部表示方法两个向量 a 和 b 的叉积写作 a b 有时也被写成 a b 避免 e78988e69d63 和字母 x 混淆 定义向量积可以被定义为 模长 在这里 表示两向量之间的夹角 共起点的前提下 0 180 它位于这两个矢量所定义的平面上 方向 a 向量与 b 向量的向量积的方向与这两个向量所在平面垂直

    2026年3月19日
    2
  • keytool条目_keytool的笔记

    keytool条目_keytool的笔记1 1 Keytool 是一个有效的安全钥匙和证书的管理工具 Java 中的 keytool exe 位于 JDK Bin 目录下 可以用来创建数字证书 所有的数字证书是以一条一条 采用别名区别 的形式存入证书库的中 证书库中的一条证书包含该条证书的私钥 公钥和对应的数字证书的信息 证书库中的一条证书可以导出数字证书文件 数字证书文件只包括主体信息和对应的公钥 Keytool 把钥匙和证书储存到

    2026年3月18日
    1
  • Skywalking原理学习 — skywalking 搭建及入门示例

    Skywalking原理学习 — skywalking 搭建及入门示例访问地址 http localhost 8080 1 首页 2 调用关系 3 服务调用信息 4 追踪日志信息

    2026年3月17日
    2
  • 报表开发工程师面试准备

    报表开发工程师面试准备现在也没搞明白报表开发工程师是做什么的 明天上午就要面试了 先按照职位描述的内容进行复习 了解 hadoophadoop 实现了一个分布式文件系统 HadoopDistri 简称 HDFS Hadoop 的框架最核心的框架设计就是 HDFS 和 MapReduce HDFS 为海量的数据提供了存储 MapReduce 为海量数据提供了计算 HDFSHDFS 采用 mas

    2026年3月26日
    3
  • 9_商品详情页面解决方案

    9_商品详情页面解决方案需求分析当搜索商品时,显示商品的详细信息,同时选择不同的sku,进行不同的数据显示解决方案商家更改数据微服务,通过消息队列MQ监听到发生变化,微服务调用者使用Thymeleaf模板,生成相应的静态页面,储存在本地磁盘,当用户发送请求到微服务时,使用nginx技术进行相应页面的返回商品详情页面静态化1、建Module:supergo_page2、改pom<?xmlversion=”1.0″encoding=”UTF-8″?><projectxmlns=”http

    2022年6月25日
    29

发表回复

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

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