0基础学习VR全景平台篇第112篇:控制点和遮罩工具 - PTGui Pro教程

上课!全体起立~

大家好,欢迎观看蛙色官方系列全景摄影课程!

前情回顾:上节,我们用PTGui拼接了一张全景图,全景编辑器里的各项功能帮助我们进行了初步的检查和编辑。

之后我们需要使用【控制点】【遮罩】两块选项卡,进行一些更加进阶的编辑操作,快上车!
此节课堂有两个重点

第一点是 通过【控制点】消除错位,优化拼接效果;

第二点是 通过【遮罩】对全景图中的内容进行强制显示或强制擦除

(【遮罩】和【控制点】选项卡)

PTGui的主界面左侧,有一排选项卡,我们找到【控制点】和【遮罩】,可以鼠标单击选项卡,进入两个界面。

但是我们一般从“全景编辑器”界面进入,如下图。

(全景编辑器打开【遮罩】和【控制点】)

Ctrl+E 打开“全景编辑器”界面,滑鼠移动至需要编辑的区域,鼠标右键单击点开菜单选项,可以直接进入这块区域所关联图像的【遮罩】和【控制点】,进行修改操作,更加智能和直观。例如,单击上图红框圈中按钮,就可以打开影像6和影像7的【遮罩】和【控制点】界面。

我们先说【控制点】

(【控制点】选项卡界面)

【控制点】界面展示了相邻两组图像重合部分的控制点,其实就是重合区域相同元素的特征点,作为拼接的重要依据。

界面上方,源图像列表彰显了一个特征,影像1&2,2&3…6&1,依次相邻、首尾相邻的影像持有共同控制点。

如上图,影像1和影像2的控制点共同含有:地砖的十字交点,天花板上的烟雾报警器等等。

(编辑控制点)

对于一些拼接结果不满意,或是拼接后出现错位的情况,可以尝试手动添加控制点,【控制点】界面在两张相邻图像中寻找共同位置分别单击添加,控制点生成后会有一个共同的编号,如上图影像1&影像2的28号控制点。

鼠标右键单击控制点编号,弹出菜单选项,可以对控制点进行删除,如上图红框

温馨小提示:

随着手动添加的控制点越多,相当于给精准拼接提供了更多依据,再进行二次优化后,有可能会消除部分错位。

但是,手动添加控制点工作量过大,效率低下,优化后的效果也不见得非常乐观,其实不建议大家这样去操作。
手动添加控制点消除错位是在做“加法”,下面我们会为大家提供一做“减法公式”

(控制点表)

“减法公式”:

【控制点】选项卡界面上部,有一个“控制点图表”按钮,上图红框圈中位置,单击打开,弹出表格。

“控制点表”展示了每个控制点的各项信息,像控制点所属的影像、编号、控制点类别、距离。因为中文翻译的问题,“距离”这个词显得有点莫名其妙,大家可以理解成误差值误差值越大则表示:控制点在两张图像中的位置偏差距离越远。

划重点:

于是,我们想要获得较为满意的拼接效果,需要在“控制点表”中删除距离(误差值)大于2的控制点;

打开“控制点表”,按住键盘Shift,从上到下用鼠标多选选中误差值大的控制点,直接Delete删除。

(【遮罩】选项卡界面)

我们再说【遮罩】。【遮罩】界面与【控制点】类似,上方是源图像列表,中部是预览画面。

区别在下方:【遮罩】的三色画笔工具

(三色画笔和画笔大小)

【遮罩】的功能主要依靠三色画笔工具

红色画笔代表强制擦除;

绿色画笔代表强制显示

白色画笔可以理解成橡皮擦

右侧笔触滑块调整划画笔大小
【遮罩】依然是在两张相邻影像的重合部分上做文章:

给大家举个“栗子”,我们拍摄了一组办公室里的全景,影像1和影像2都拍摄到了办公桌,拍摄影像1时办公桌上有一个水杯,影像1画面里有水杯,拍摄影像2时摄影师口渴了,把杯子拿起来喝了点水,影像2画面里没有水杯。

那这时,【遮罩】工具就给了我们选择的权利,我们可以决定,这个水杯最终会不会出现在我们的全景画面当中。

(遮罩画笔操作前)

下面,我们用一组实际操作来运用【遮罩】工具。

这组全景在画面中心红框圈中位置在拼接完成后没有显示人物,原因是这组影像中,影像6没有拍摄人物,而影像7画面中包含人物,软件默认隐藏了人物。

(绿色画笔强制显示)

我们可以在【遮罩】选项卡中,找到影像7,将画面中的人物区域用绿色画笔涂抹出来,那人物就会强制显示出来。

同理,红色画笔也可以强制擦除无需显示的画面。如果两张源图像重合部位画面一致,则无法使用【遮罩】画笔。

在日常使用场景中,我们可以利用【遮罩】将全景画面中干扰画面美感的物体和行人排除在外。

(遮罩画笔操作前)

下课啦!!!

欢迎在下方评论区留言,与蛙色的小伙伴们共同交流进步吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch 入门 (四)案例二:人脸表情识别-VGG16实现

实战教案二:人脸表情识别-VGG16实现 本文为🔗小白入门Pytorch内部限免文章 参考本文所写记录性文章,请在文章开头注明以下内容,复制粘贴即可 🍨 本文为🔗小白入门Pytorch中的学习记录博客🍦 参…

华为数通方向HCIP-DataCom H12-831题库(多选题:21-40)

第21题 网络管理员A希望使用ACL匹配特定的路由条目,请问以下哪些路由条目将被图中的ACL规侧匹配? acl number 2000 rule 10 permit source 10.0.0.0 0.0.6.0A、10.0.0.1/32 B、10.0.0.0/24 C、10.0.1.0/24 D、10.0.2.0/24 答案: 解析: 通配符十进制6转换二进制为00000110,…

提升药店效率:山海鲸医药零售大屏的成功案例

在医药行业中,特别是医药零售领域,高效的药品管理和客户服务至关重要。随着科技的飞速发展,数字化解决方案已经成为提高医药零售管控效率的有效工具之一。其中,医药零售管控大屏作为一种强大的工具,正在以独特的方式改…

互联网Java工程师面试题·Spring篇·第二弹

目录 3、Beans 3.1、什么是 spring bean? 3.2、spring 提供了哪些配置方式? 3.3、spring 支持集中 bean scope? 3.4、spring bean 容器的生命周期是什么样的? 3.5、什么是 spring 的内部 bean? 3.6、什么是 spri…

ONEPIECE!程序环境和预处理——C语言最终章

时间过得飞快呀,从第一篇blog到现在,已经有三四个月的时间了,而我们终于也迎来了C语言的最终章——程序环境和预处理!加油吧朋友们,ONEPIECE就在眼前~ 目录 一、程序的"翻译环境"和"运行环境" 二…

Biotech - 环状 mRNA 的 LNP 递送系统 与 成环框架

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/133992971 环状 RNA(或 circRNA )是一种单链 RNA,与线性 RNA 不同,形成一个共价闭合的连续环。在环…

Hadoop+Hive+Spark+Hbase开发环境练习

1.练习一 1.数据准备 在hdfs上创建文件夹,上传csv文件 [rootkb129 ~]# hdfs dfs -mkdir -p /app/data/exam 查看csv文件行数 [rootkb129 ~]# hdfs dfs -cat /app/data/exam/meituan_waimai_meishi.csv | wc -l 2.分别使用 RDD和 Spark SQL 完成以下分析&#xf…

零代码编程:用ChatGPT多线程批量将PDF文档转换为word格式

pdf2docx是Python的一个库,可以很方便的将PDF文档转换为word格式,首先安装这个库。 然后在ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个文档格式转换的任务,具体步骤如下: 打开F盘的Books文件…

强化学习代码实战(1)

机器人领域:控制,规划,感知等都可以用,可以把它作为一个优化过程,那么任何需要优化的问题都可以用它解决。 1.应用 深度学习:智能感知,解决智能如何理解这个世界的问题。 强化学习&#xff1a…

python之代理ip的配置与调试方法详解

代理IP在Python中是一种强大的工具,它可以用于隐藏真实IP地址、绕过访问限制、提高数据爬取和网络请求的效率等。下面将详细介绍Python中代理IP的配置与调试方法,帮助您更好地理解和应用代理IP。 1. 选择合适的代理IP 在使用代理IP之前,需要…

vue v-for

目录 前言:Vue.js 中的 v-for 指令 详解:v-for 指令的基本概念 用法:v-for 指令的实际应用 1. 列表渲染 2. 动态组件 3. 表单选项 4. 嵌套循环 5. 键值对遍历 解析:v-for 指令的优势和局限性 优势: 局限性&a…

网络通信和tcp协议

一、计算机网络架构模型 1、OSI七层模型 2、TCP/IP模型 3、TCP/IP协议族 无论是什么网络模型,都是为上一层提供服务,抽象层建立在低一层提供的服务上,每层都对应不同的协议 4、地址和端口号 1)MAC地址 MAC 地址共 48 位&#…

RAM(recognize anything)—— 论文详解

一、概述 1、是什么 RAM 论文全称 Recognize Anything: A Strong Image Tagging Model。区别于图像领域常见的分类、检测、分割,他是标记任务——即多标签分类任务(一张图片命中一个类别),区分于分类(一张图片命中一个…

Java基础(第一期):IDEA的下载和安装(步骤图) 项目结构的介绍 项目、模块、类的创建。第一个代码的实现

文章目录 IDEA1.1 IDEA概述1.2 IDEA的下载和安装1.2.1 下载1.2.2 安装 1.3 IDEA中层级结构介绍1.3.1 结构分类1.3.2 结构介绍project(项目、工程)module(模块)package(包)class(类) …

【Javascript】等于与全等于

var a1;if(a1){console.log(你好!!);} 如果a赋值为 1 的时候 var a1;if(a1){console.log(你好!!);}仍然会执行 console.log(你好!!); 所以在开发中如果if语句里要使用等于的时候使用 var a1;if(a1)…

基于Java的疫苗接种管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

LeetCode 11. 盛最多水的容器

盛水最多的容器 题目链接 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。…

2023 uniapp( vue3)使用canvas生成海报并保存,taro/微信小程序也适用

有段时间没写vue了&#xff0c;有点生疏了...... 1、代码有注释&#xff0c;完整代码如下 <template><view class"page"><canvas class"canvas" v-if"isShow" :style"{width:${canvasWidth}px,height:${canvasHeight}px}&…

uni-app 小宠物 - 会说话的小鸟

在 template 中 <view class"container"><view class"external-shape"><view class"face-box"><view class"eye-box eye-left"><view class"eyeball-box eyeball-left"><span class"…

【通览一百个大模型】Baize(UCSD)

【通览一百个大模型】Baize&#xff08;UCSD&#xff09; 作者&#xff1a;王嘉宁&#xff0c;本文章内容为原创&#xff0c;仓库链接&#xff1a;https://github.com/wjn1996/LLMs-NLP-Algo 订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货…