全景图技术的应用越来越广,现在已应用到很多领域,
它是通过数张不同角度拍摄的图片(必须有重叠)来经过提取控制点、拼合、优化处理、缝合等复杂的算法,结合用户鼠标、键盘等交互来达到模拟3D场景的效果。对比普通的平面照片,可以达到更好的演示效果。全景图虚拟现实是一门比较新潮的应用。
现在有很多制作全景图的软件。这只是软件的实现,如果我们想通过程序来实现,应该怎样实现呢?大家可以跟踪软件制作全景图的步骤,会发现大概就三个步骤:
第一步:我们首先提取出有重叠图片的控制点,也就是重叠部分,这些控制点的提取是根据一定的算法的。以下是我提取过的部分控制点的截图.
第二步:拼合和优化这些控制点,优化结果如下。
第三步:就是缝合这些图片并消除拼接处的花边,生成一张全景图图片。
以下是我测试的效果:
以下是不同角度拍摄的18张照片:
经过上面的三个步骤会制作成一张全景图效果如下:
制作全景图的思路就是这些了,至于具体的实现就是上面说的那几个步骤。要用到很多的知识和工具,用java,c#,php,vc++等都可以实现,有兴趣的朋友可以和我交流。
本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/94993,如需转载请自行联系原作者