这是 cpfind 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
cpfind - 全景拼接的特征匹配
概要
查找 [选项] -o 输出项目 项目.pto
查找 [选项] -k i0 -k i1 [...] 项目.pto
查找 [选项] --kall 项目.pto
商品描述
查找 cpfind 是 Hugin 的控制点检测器。 它需要一个项目文件作为输入
并在成功时写入带有控制点的项目文件。 这取决于合理的镜头
输入项目文件中的信息。
第一步是特征描述:在这一步中,项目文件的图像是
加载并搜索所谓的关键点。 他们描述了在
图片。 查找 使用基于梯度的描述符进行特征描述
关键点。
第二步,特征匹配,将两幅图像的所有关键点进行匹配
彼此查找两个图像上的特征。 如果这个匹配成功了两个
两幅图像中的关键点成为一个控制点。
用法
直线型 和 鱼眼镜头 图片
Cpfind 可以在直线和鱼眼图像中找到控制点。 达到良好的控制
具有高水平视野的点图像(例如超宽直线或
鱼眼)因此被重新映射到共形空间(cpfind 正在使用立体图形
投影)并且特征匹配发生在这个空间中。 在编写控件之前
点坐标重新映射回图像空间。 这会自动发生
取决于输入项目文件中有关镜头的信息。 所以检查你的
输入项目文件包含有关所用镜头的合理信息。
运用 蔚蓝的
室外全景通常包含云。 云是设置控制点的不良区域
因为它们是移动的物体。 Cpfind 可以使用与 celeste_standalone 相同的算法来
掩盖了包含云的区域。 (这仅在关键点内部完成
查找步骤并且不会更改图像的 alpha 通道。 如果你想生成
蒙版图像使用 celeste_standalone)。 使用 celeste 运行 cpfind
cpfind --celeste -o 输出.pto 输入.pto
将 cpfind 与集成 celeste 一起使用应该优于使用 cpfind 和
celeste_standalone 顺序。 当使用 celeste 云区域运行 cpfind 时,
通常包含具有高质量度量的关键点,被忽略并且没有
而是使用云。 在没有 celeste 的情况下运行 cpfind 时,云上的关键点也是
成立。 当之后运行 celeste_standalone 时,这些控制点将被删除。 在里面
最坏的情况是删除某个图像对的所有控制点。
因此,使用 celeste 运行 cpfind 可以为户外带来更好的“控制点质量”
全景图(例如有云的全景图)。 使用 celeste 运行 cpfind 需要比 cpfind 更长的时间
独自的。 所以对于室内全景这个选项不需要指定(因为更长的
计算时间)。
celeste 步骤可以通过参数--celesteRadius 和
--celesteThreshold。
匹配 策略
All / 全部 对
这是默认的匹配策略。 这里所有图像对都与每个图像对匹配
其他。 例如,如果您的项目包含 5 个图像,则 cpfind 匹配图像对:0-1,
0-2, 0-3, 0-4, 1-2, 1-3, 1-4, 2-3, 2-4 和 3-4
此策略适用于所有射击策略(单行、多行、无序)。 它发现
(几乎)所有连接的图像对。 但是对于具有以下内容的项目来说计算成本很高
许多图像,因为它测试了许多未连接的图像对。
线性推力器 匹配
这种匹配策略最适合单行全景图:
cpfind --linearmatch -o 输出.pto 输入.pto
这只会检测相邻图像之间的匹配,例如对于 5 个图像示例,它
将匹配图像对 0-1、1-2、2-3 和 3-4。 匹配距离可以增加
使用开关 --linearmatchlen。 例如使用 --linearmatchlen 2 cpfind 将匹配图像
下一个图像和下一个图像之后的图像,在我们的示例中,它将是 0-1, 0-2, 1-2,
1-3、2-3、2-4 和 3-4。
多行 匹配
这是单行和多行全景图的优化匹配策略:
cpfind --multirow -o 输出.pto 输入.pto
该算法与多行全景中描述的相同。 通过整合这个
算法进入 cpfind 它通过使用现代 CPU 的几个核心并且不缓存来更快
关键点到光盘(这是耗时的)。 如果你想使用这个多行
匹配内部 Hugin 一次将控制点检测器类型设置为所有图像。
关键点 缓存 至 圆盘
关键点的计算需要一些时间。 因此 cpfind 提供了保存
关键点到一个文件,并在以后再次重用它们。 使用 --kall 所有图像的关键点
在项目中保存到光盘。 如果您只想使用特定图像的关键点
参数 -k 与图像编号:
cpfind --kall 输入.pto
cpfind -k 0 -k 1 输入.pto
关键点文件默认保存在与图像相同的目录中
扩展名.key。 在这种情况下,不会发生图像匹配,因此没有输出项目
文件需要指定。 如果 cpfind 在项目中找到图像的密钥文件,它将使用
它们会自动运行,并且不会在此图像上再次运行特征描述符。 如果你想
使用 --keypath 开关将它们保存到另一个目录。
这个过程也可以通过开关 --cache 自动化:
cpfind --cache -o 输出.pto 输入.pto
在这种情况下,它会尝试加载现有的关键点文件。 对于没有图像的图像
关键点文件,关键点被检测并保存到文件中。 然后它匹配所有加载
和新发现的关键点并写入输出项目。
如果您不再需要密钥文件,可以通过以下方式自动删除
cpfind --clean input.pto
EXTENDED 配置
专栏 描述
出于速度原因,cpfind 使用的图像被缩放到它们的半宽和半高,
找到关键点。 使用开关 --fullscale cpfind 正在处理全尺寸图像。
这需要更长的时间,但可以提供“更好”和/或更多的控制点。
特征描述步骤可以通过参数进行微调:
--sieve1宽度
筛 1:宽度上的桶数(默认值:10)
--sieve1 高度
筛 1:高度上的桶数(默认值:10)
--筛子1尺寸
筛 1:每个桶的最大点数(默认值:100)
--kdtreesteps
KDTree:搜索步骤(默认:200)
--kdtreesecondist
KDTree:第二场比赛的距离(默认值:2)
Cpfind 存储每张图像的最大筛网宽度 *筛网高度 *筛网1尺寸的关键点。 如果你
只有很小的重叠,例如使用鱼眼图像进行 360 度全景拍摄,您可以
如果增加sieve1size,可以获得更好的结果。 你也可以尝试增加sieve1width
和/或sieve1height。
专栏 匹配
通过以下参数微调匹配步骤:
——兰萨西特
Ransac:迭代(默认值:1000)
——兰萨克主义者
Ransac:单应性估计距离阈值(像素)(默认值:25)
--ransac模式 (自动,hom,rpy,rpyv,rpyb)
选择在 ransac 步骤中使用的模型。
hom:假设一个单应性。 仅适用于非广角
意见。 使用原始全景代码。 它也更灵活
超出要求并且可能产生错误匹配,尤其是在大多数情况下
的匹配位于一行。
rpy:使用滚动、俯仰和偏航对齐图像。 这需要一个好的
估计水平视场(和失真,对于
严重扭曲的图像)。 这是首选模式,如果
使用校准镜头,否则可以成功读取 HFOV
来自 EXIF 数据。
rpyv:通过优化滚转、俯仰、偏航和领域来对齐对
看法。 应该在没有视野的先验知识的情况下工作,
但可能会更频繁地失败,因为在
panotools 优化器,它倾向于将 fov 缩小到 0。
rpyvb:通过优化滚动、俯仰、偏航、视野和
“b”失真参数。 可能很脆弱,只是
为测试而实施。
auto:对 hfov < 65 度和 rpy 的图像使用单应性。
--最小匹配数
最少匹配(默认:4)
--sieve2宽度
筛 2:宽度上的桶数(默认值:5)
--sieve2 高度
筛 2:高度上的桶数(默认值:5)
--筛子2尺寸
筛 2:每个桶的最大点数(默认值:2)
Cpfind 在 minmatches 和筛子 2 宽度 * 筛 2 高 * 筛 2 大小之间生成
图像对之间的控制点。 (默认设置在 4 到 50 之间(=5*5*2)
每个图像对的控制点。)如果少于 minmatches 控制点找到一个
给定图像对,这些控制点被忽略,这个图像对是
视为未连接。 对于狭窄的重叠,您可以尝试减少最小匹配,
但这会增加获得错误控制点的风险。
配置
--celesteRadius
celeste 的半径(默认 20)
--celeste阈值
celeste 的阈值(默认 0.5)
--塞莱斯特
加载图像后运行 celeste 天空识别,这会忽略所有功能
与“云”有关。
-p <字符串, --键路径
缓存密钥文件的路径
- 干净的
清理缓存的密钥文件
-c, --缓存
将关键点缓存到外部文件
--卡尔
为所有图像写入密钥文件
-k , --写入密钥文件
为这个镜像号写一个keyfile(多次接受)
-o , - 输出
输出文件,必填
-n , --ncores
CPU/内核数(默认:自动检测)
-t, - 测试
启用测试模式
--全量程
使用全尺寸图像来检测关键点(默认值:false)
--sieve1宽度
筛 1:宽度上的桶数(默认值:10)
--sieve1 高度
筛 1:高度上的桶数(默认值:10)
--筛子1尺寸
筛 1:每个桶的最大点数(默认值:100)
--kdtreesteps
KDTree:搜索步骤(默认:200)
--kdtreesecondist
KDTree :第二场比赛的距离(默认:2)
--多行
启用启发式多行匹配(默认:关闭)
--线性匹配
启用线性图像匹配(默认:所有对)
--线性匹配长度
线性匹配中要匹配的图像数量(默认值:1)
--最小匹配数
最少匹配(默认:4)
——兰萨西特
Ransac:迭代(默认:1000)
——兰萨克主义者
Ransac:单应性估计距离阈值(像素)(默认值:25)
--sieve2宽度
筛 2:宽度上的桶数(默认值:5)
--sieve2 高度
筛 2:高度上的桶数(默认值:5)
--筛子2尺寸
筛 2:每个桶的最大点数(默认值:2)
--, --ignore_rest
忽略此标志后面的其余标记参数。
- 版
显示版本信息并退出。
-h, - 帮帮我
显示使用信息并退出。
作者
安娜埃尔·奥林斯基、巴勃罗·德安吉洛、安托万·德勒福热、托马斯·莫德斯
《版本:2015.0.0》 2016-01-06 CPFIND(1)
使用 onworks.net 服务在线使用 cpfind