简易录制视频做3D高斯

系统环境

ubuntu20 ,cuda11.8,anaconda配置好了3D高斯的环境。
具体参考3D高斯环境配置:https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm=1001.2014.3001.5501

colmap安装:https://blog.csdn.net/Son_of_the_Bronx/article/details/138543508?spm=1001.2014.3001.5501

录制视频

用手机录制即可,直接录制视频

从视频中截取照片

这里我是参考的一片博客:3D Gaussian Splatting Linux端部署指南(含Linux可视化)

在这篇博客的最后,提供了一个train_video.py的代码,具体可以去那篇博客参考他的代码。具体的操作应该就是通过ffmpeg来截取视频生成一张一张的图片,然后放到colmap中进行稀疏重建,然后再把点云和相机位姿图片放到3D高斯中训练,最终得到训练结果。

我这里记录的是在跑这个train_video.py代码期间遇到的报错。

python脚本报错在这里插入图片描述

报的这个错误,应该就是脚本在运行这句命令的时候报错:

command = f'ffmpeg -i {video_path} -qscale:v 1 -qmin 1 -vf fps={fps} {images_path}/%05d.jpg'
subprocess.run(command, shell=True)

我没有像这篇博客3D Gaussian Splatting Linux端部署指南(含Linux可视化)
在一开始的时候就把conda和apt-get的ffmpeg卸载,可能是这个原因导致的错误吧。

当我在终端打出:

ffmpeg -h

出现的也是这个问题:
在这里插入图片描述
因为我是在conda环境下用的ffmpeg命令,而这个conda环境下的ffmpeg命令有问题,找不到这个openh264的库文件。(PS:不在conda环境下,ffmpeg命令是有效的,说明现在conda的bin目录优先级是比系统的bin目录优先级高)

解决方案

那么conda环境下的ffmpeg命令有问题就去解决他。
网上搜索的方法首先是更新ffmpeg

conda update ffmpeg

但是在更新完后对我来说还是报这个错误,所以我想的是openh264有问题,所以运行下面指令,去更新openh264

conda update openh264

然后也能够在 gaussian_splatting这个anaconda环境中的lib
在这里插入图片描述
找到对应的库文件
在这里插入图片描述
所以后续就没有报错,用的是自己录的小视频进行3D高斯训练。

训练结果

一个一分钟的视频,3090训练了16分钟
在这里插入图片描述
整体质量还是比较粗糙,相机比较差,而且拍摄的角度应该也是有讲究的,后面再好好准备自己录的数据集。

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

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

相关文章

嵌入式linux学习第三天汇编语言点灯

嵌入式linux学习第三天汇编语言点灯 今天学习如何在linux板子上点灯。 I.MX6U GPIO 详解 我们发现I.MX6U GPIO是分为两类的,:SNVS 域的和通用的。在讨论i.MX6U或类似的复杂微处理器时,了解其GPIO(通用输入输出)引脚…

八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派

前言 上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的 Tomcat ClassLoader 初始化 Tomcat的启动类是在…

华为eNSP小型园区网络配置(下)

→跟着大佬学习的b站直通车,感谢大佬← →华为eNSP小型园区网络配置(上)← 目标1:telnet配置 R1 # interface GigabitEthernet0/0/2ip address 100.1.1.2 255.255.255.0 # user-interface vty 0 4authentication-mode aaa # aaa…

英语新概念2-回译法-lesson12

第一次翻译 (稀巴烂) Our neiborhood,Capitain Charles Alison,will sail from P. We will ______ in the _. He will sit in his small boat, Topsail,Topsail is a famous boat. It has been across the A many times. Alison will sail at 8 o’cloc…

05-06 周一 Shell工程目录划分和开发最佳实践

05-06 周一 Shell工程目录划分和开发最佳实践 时间版本修改人描述2024年5月6日10:34:13V0.1宋全恒新建文档2024年5月6日11:07:12V1.0宋全恒完成 简介 之前楼主曾经完成过一个shell工程的开发,记得当时项目名称叫做campus-shell,主要是用来一键完成多个模…

【信息安全管理与评估】某年“信息安全管理与评估”第二阶段:Windows应急响应例题

文章目录 1、提交攻击者的IP地址;2、识别攻击者使用的操作系统;3、找出攻击者资产收集所使用的平台;4、提交攻击者目录扫描所使用的工具名称;5、提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS&…

SpringBoot中HandlerInterceptor拦截器的构建详细教程

作用范围:拦截器主要作用于Spring MVC的DispatcherServlet处理流程中,针对进入Controller层的请求进行拦截处理。它基于Java的反射机制,通过AOP(面向切面编程)的思想实现,因此它能够访问Spring容器中的Bean…

【Fastadmin】后台角色组权限问题(multi,开关switch,控制器新增方法)

1.列表开关类型的权限 如图: 此类开关请求的方法为multi 开关在点击的时候默认是只允许修改数据库的status字段的,如果我们开关不是status字段,我们需要在服务端对应的控制器中定义protected $multiFields"id,name,swith";&#x…

️测试问我:为啥阅读量计数这么简单的功能你都能写出bug?

前言 可乐他们团队最近在做一个文章社区平台,由于人手不够,后端部分也是由前端同学来实现,使用的是 nest 。 今天他接到了一个需求,就是在用户点开文章详情的时候,把阅读量 +1 ,这里不需要判断用户是否阅读过,无脑 +1 就行。 它心想:这么简单,这不是跟 1+1 一样么。…

1-2 ARM单片机GPIO

def:通用输入输出口 GPIO输出模式原理讲解 1:推挽输出 2:复用推挽输出 电流最大是20mA,对于单片机来说总体的输出是由范围的 开漏/复用开漏输出 外部接上拉电阻的开漏输出 线与的概念 注: 与的概念:全1为1&…

3d模型实体显示有隐藏黑线?---模大狮模型网

在3D建模和设计领域,细节决定成败。然而,在处理3D模型时,可能会遇到模型实体上出现隐藏黑线的问题。这些黑线可能影响模型的视觉质量和呈现效果。因此,了解并解决这些隐藏黑线的问题至关重要。本文将探讨隐藏黑线出现的原因&#…

Java基础教程 - 4 流程控制

更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 4 流程控制 4.1 分支结构…

16、ESP32 Web

Web 服务器具有移动响应能力,可以使用本地网络上的任何设备作为浏览器进行访问。 示例功能: 构建 Web 服务器控制连接到 ESP32 的 LED在本地网络的浏览器上输入 ESP32 IP 地址访问 Web 服务器通过单击 Web 服务器上的按钮,更改 LED 状态 //…

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。…

CANdela/Diva系列1--CANdela Studio的基本介绍

大家好,这个系列主要给大家介绍跟诊断相关的Vector 工具CANdela和Diva,首先介绍CANdela。 目录 1.CANdela的简介: 2.如何打开CANdela 工程: 3.CANdela工程的详细介绍: 3.1 工具栏的介绍: 3.2 工作树的…

全新拼团模式 你一定没见过 白拿产品还有收益!

在七星拼团模式中,奖励制度是其核心吸引力之一。今天,我们将深入探讨这一模式的三种奖励:直推奖、滑落奖和出局奖,以及它们背后的互助机制。 奖励规则概述 首先,让我们了解一下奖励的具体规则。假设商品售价为499元&a…

自动化运维管理工具 Ansible-----【inventory 主机清单和playbook剧本】

目录 一、inventory 主机清单 1.1inventory 中的变量 1.1.1主机变量 1.1.2组变量 1.1.3组嵌套 二、Ansible 的脚本 ------ playbook(剧本) 2.1 playbook介绍 2.2playbook格式 2.3playbooks 的组成 2.4playbook编写 2.5运行playbook 2.5.1ans…

JavaScript中的扩展操作符作用是什么,有什么含义?

在 JavaScript 中,扩展操作符允许一个表达式在某些地方展开成多个元素。这个特性在 ES2015 (也叫做 ES6) 中被引入到 JavaScript 语言中,并广泛用于数组和对象。在您的代码示例中,它被用于对象。 对象中的扩展操作符 在对象字面量中使用扩展…

SolidWorks进行热力学有限元分析二、模型装配

1.先打开软件,新建装配体 2.选中你要装配的零件,直接导入就行 3.鼠标点击左键直接先放进去 4.开始装配,点配合 5.选择你要接触的两个面,鼠标右键确定,然后把剩下的面对齐一下就行了 6.搞定

Day1| Java基础 | 1 面向对象特性

Day1 | Java基础 | 1 面向对象特性 基础补充版Java中的开闭原则面向对象继承实现继承this和super关键字修饰符Object类和转型子父类初始化顺序 多态一个简单应用在构造方法中调用多态方法多态与向下转型 问题回答版面向对象面向对象的三大特性是什么?多态特性你是怎…