是尘封已久的记忆再次融化 是堆积心底的烈火再次燃烧 是直觉让我来到这久违的大地 是信念让我开始了新的征途 在硝烟中我得到了成长 在伤痛中我学会了坚强 在沉默中我明白了等待 在孤独中我体味了感伤 并不是我不懂得眼泪 并不是我只知道使命 在内心深处我同你一样火热 在我的眼中也有着多情的泪光 也许我的生命如落叶般短暂 也许我只是岁月长河中的一个过客 但我对自己所做的一切无怨无悔 因为我品尝到了那最后一刻的泪光
随笔-6  评论-24  文章-8  trackbacks-0
最近分析了PToptimizer,整个程序流程。大致如下:

1)导入优化的脚本文件,这个文件包络万象,输入图像的信息(roll,pitch,yaw, hfov,width,height,图像的投影方法等),输出全景图的设置,控制点的罗列,优化参数的控制等(i,p,c,v),其中相对优化最重要的就是控制点和是否对参数进行优化。设置的正确与否,影响后面的优化结果。使用前,一定要好好看看Optimize.txt

2)根据script填充AlignInfo结构体,注意AlignInfo最后被注入了adjust.c的 static AlignInfo *optInfo中。初始LM输入参数和输出参数的函数,及重要的fcn都包含在结构体OptInfo中,整个LM算法都是围绕AlignInfo和OptInfo展开的。驱动他们结合的是函数lmfunc fcn(它是个函数指针,实际调用int fcnPano(int m, int n, double x[], double fvec[], int *iflag) )。

3)计算误差的函数就是上面提到的fcn,这个函数举足轻重,要义深刻,根据width = 360, hfov = 360, height = 180的参考全景图,利用图像间匹配的控制点,不同投影模式,不同投影函数调用,来计算参数和误差。
4)通过LM反复迭代,得到全局最优。(这部分还有一些不解,具体分析到代码,再做讨论)。

PToptimizer是hugin的灵魂,一点不过。心与心的碰触,代码与代码的交叉,灵魂转化,功力跟进。
posted on 2011-05-21 17:37 noBugnoGain 阅读(823) 评论(2)  编辑 收藏 引用 所属分类: 图像处理

评论:
# re: 图像拼接中,拼接参数的估计。 2011-06-17 12:52 | dean’wang
您好,博主;我最近也在研究PanoTools中的各个工具,我想问下PToptimizer的输入脚本难道只需要给定控制点就可以了么?其他的参数需要在脚本里面直接估计还是PToptimizer可以算出来。例如yaw angle ,pitch angle roll angle 等这些参数以及畸变矫正的a b c 和d e是在PToptimizer处理的脚本里面事先估计然后让PToptimizer优化还是PToptimizer能计算出来?如果是前者,脚本里面的预先设置的值对后面的结果影响大不大?恳求指点。 我QQ 519436279 邮箱 bjkjdxwda@yahoo.com.cn  回复  更多评论
  
# re: 图像拼接中,拼接参数的估计。 2011-06-17 21:27 | wmgl
给定控制点,hfov,f,width,height,其他默认0.认真阅读下脚本文件。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理