Hugin软件脚本概述

Hugin软件脚本概述Hugin 软件脚本概述 hugin

大家好,欢迎来到IT知识分享网。

全景脚本概述
这是一个简短的文档,描述了在非gui环境中处理全景图的各种开源工具和技术。这些例子都是基于Linux的经验,但大多数应该在OS X或Windows上工作,最多只需要做一点修改。
这篇文档对于理解hugin本身“底层”发生了什么也很有用,建议任何想要使用hugin源代码的人阅读。

目录

1 你为什么要那样做?

创建和操作全景图显然应该在图形工具中完成。这是真的,但也许你发现你花在操作电脑上的时间比做摄影师的时间还多。这表明出了问题——计算机的存在就是为了完成无聊的工作,而脚本编写是实现这一目标的一种方式。

2 panotools“脚本”

首先在Helmut Dersch的全景工具中使用的文件格式通常被称为“脚本”,但“PanoTools”脚本实际上是描述“全景拼接项目”的数据文件。

虽然这些原始的PanoTools今天很少使用,但文件格式仍然存在,并且有几个变体被PTGui, PTAssembler, hugin和相关工具用作项目文件。这些文件都是简单的纯文本文件,有时用文本编辑器直接修改它们是很有用的——接下来我们将介绍通过“编程”类脚本来操作它们的各种方法。

3 简单的命令行拼接

让我们从一个基本但常见的用例开始:拥有高质量全景三脚架头的摄影师每次都可以复制相同的照片集,在这种情况下,没有必要为每个全景创建一个新的拼接项目,使用单个项目作为模板就足够了。

本例采用一个预先存在的项目template.pto,由三张照片创建。它使用nona进行重新映射,并使用enblend将重新映射的照片混合成完成的TIFF图像:

如果使用内部融合器,则命令简化为

nona -o out -m TIFF template.pto DSC_1234.JPG DSC_1235.JPG DSC_1236.JPG

4 在命令行上创建hugin项目

整个全景创建过程可以在命令行上执行,因此可以编写脚本,这样做涉及一系列类似于GUI工具中的工作流的步骤。

4.1生成项目文件

4.2控制点生成

有很多工具可以从照片组中生成控制点,比如cpfind。以下是一个使用cpfind的示例:

4.3 修剪控制点

这仍然不是一幅完整的全景图,至少还需要优化相机位置并呈现输出结果。

您可以直接优化此项目文件,但这可能会有点碰运气。首先,最好清理控制点。目前有两个用于清理控制点的有用工具:celeste从天空区域中删除点,而cpclean删除错误距离较大的点,首先是celeste_standalone:

其他控制点清理程序包括ptscluster和ptoclean。cpclean在很大程度上已经取代了ptoclean,但你仍然可以这样运行它:

ptoclean -v –output project.pto project.pto

4.4 优化位置和几何形状

到目前为止,项目文件仅包含图像列表和控制点,图像尚未对齐,您可以使用autooptimiser工具通过优化几何参数来完成此操作:

通过添加-m开关也可以完成光度优化。因此,输出项目在一次运行中针对位置、几何和光度参数进行了优化:

4.5光度参数优化

照片具有光度曝光变量,这些变量可以以与对齐位置非常相似的方式进行优化。这样做可以消除照片之间的亮度、白平衡和渐晕差异,从而实现更好的融合或允许创建HDR图像。

要像Hugin的助手一样进行自动光度优化,请使用带-m开关的autooptimiser运行:

4.6设置输出选项

为了设置输出选项(如在拼接选项卡上),请使用 pano_modify:

4.7类似于Hugin GUI助手的示例工作流程

Hugins助手也可以从命令行使用

1)生成 pto 文件

hugin_executor –stitching –prefix=prefix project.pto

5 在命令行上拼接hugin项目

hugin_executor的拼接选项可以拆分为单独的命令行。

最简单的例子是重新映射和混合。

5.1重新映射(渲染)图像

(PTblender是nona的替代渲染器)

5.2混合

6 .用panostart把它们连在一起

.pto.mk Makefile 有助于在流程结束时进行拼接,但无法在开始阶段提供帮助,例如:确定哪些照片属于哪个全景图、生成控制点、修剪和优化。

panostart 是一个能够完成所有操作的原型工具。给定文件夹中的照片列表,它会通过比较EXIF时间戳来识别可能的全景图,并写入一个元Makefile,其中包含:使用match-n-shift生成.pto项目的规则、使用pto2mk生成相应的.pto.mk Makefile的规则、使用make拼接项目的规则,以及一些创建有用的可分发输出的其他规则。

处理由自动曝光模式下的便携式点射式相机拍摄的照片的文件夹的典型panostart命令可能如下所示:

panostart –output Makefile –projection 0 –fov 50 –nostacks –loquacious *.JPG

处理此Makefile很简单:

make

一些生成的全景图将存在位置、裁剪和拼接错误。通过在hugin或其他工具中编辑相关的.pto项目来修复这些错误,当您在命令行上再次键入make时,只有那些已更改的项目才会被重新拼接。

这种方式的另一个优点是可重复性:删除所有(巨大的)TIFF输出全景图,您需要永久保留的只是照片、元Makefile和相关的.pto项目。如果您将来需要重新创建TIFF全景图,只需键入make。如果您知道所需的TIFF文件的名称,只需键入’make project.tif’,系统将只处理一个全景图

7用于操作项目文件的脚本

这个名字是一个历史性的错误,Panotools::Script是一个用于处理hugin .pto项目的perl库,尽管它可以在将来扩展以涵盖任何相关的文件格式。本文档中描述的许多命令行工具都是使用此库编写的。

这是一个微不足道的脚本,它所做的就是打开一个.pto项目然后保存,它还将输出的(“p”全景行)视角重置为360度(v360),投影格式设置为等距矩形(f2),输出像素大小设置为4096×2048像素(w4096 h2048):

这是一个稍微复杂一点的脚本,它遍历输入图像并增加白平衡,使全景图略微“变暖”:

8命令行工具的完整列表

8.1控制点生成

8.2工程文件修改

8.3控制点修剪

8.4优化

8.5渲染

8.6混合

8.7 misc

8.8色差

8.9查询

8.10 tiff文件

8.11输出格式

8.12旧工具

Helmut Dersch的PTOptimizer和PTStitcher是最初的命令行工具。 这些工具现在已经不再推荐使用,因为它们需要较旧、错误较多的libpano12库版本,它们是闭源的,因此无法在现代系统(如OS X或64位Linux)上运行,并且与现代替代品(如autooptimiser和nona)相比功能不足。

9 有用的图像处理工具

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135796.html

(0)
上一篇 2025-07-02 13:00
下一篇 2025-07-02 13:10

相关推荐

发表回复

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

关注微信