Skip to content
/ gsbox Public

一个关于 3d gaussian splating 的命令行小工具盒,ply 转 splat,ply 转 sp20,或者 splat 转 ply,splat 转 sp20 等命令行操作。convert ply to splat or sp20, convert splat to ply or sp20,etc.

License

Notifications You must be signed in to change notification settings

gotoeasy/gsbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gsbox

一个关于 3d gaussian splatting 的小工具盒。
.ply.splat之间的转换有nodejs版本也有python版本,都太重了,故有此一举。

写一写,加深理解
弄一弄,争取实用
搞搞搞,越做越好


功能

  • 文件格式的装换,支持3DGS.ply.splat.sp20格式
  • 查看.ply的文件头信息

关于.sp20格式的说明

  • 字段顺序同.splat
  • 坐标固定编码为各 24 bits,编码算法参考.spz
  • 缩放参数固定编码为各 8 bits,编码算法参考.spz
  • .sp20格式每个高斯点固定长 20 bytes,.splat则为 32 bytes,有效减少 37.5% 大小。为了能够更方便的进行渐进加载,未采用.spz的排列压缩方式进一步减少大小
  • 注意:采用.sp20格式时肉眼基本识别不出渲染差异,适合绝大多数以减少文件大小为目的的使用场景,但并不是用来替代.splat,因为.sp20是有损编码方式,因此,也并不建议把.sp20转换回.splat.ply
  • .sp20格式可以使用这个渲染器查看 https://github.com/reall3d-com/Reall3dViewer

命令示例

Usage:
  gsbox [options]

Options:
  p2s, ply2splat           convert ply to splat
  p2s20, ply2splat20       convert ply to splat20
  s2p, splat2ply           convert splat to ply
  s2s20, splat2splat20     convert splat to splat20
  simple-ply               simple mode to write ply
  info <plyfile>           display the ply header
  -i, --input <file>       specify the input file
  -o, --output <file>      specify the output file
  -c, --comment <text>     output ply with comment
  -v, --version            display version information
  -h, --help               display help information

Examples:
  gsbox p2s -i /path/to/input.ply -o /path/to/output.splat
  gsbox p2s20 -i /path/to/input.ply -o /path/to/output.sp20
  gsbox s2p -i /path/to/input.splat -o /path/to/output.ply
  gsbox s2s20 -i /path/to/input.splat -o /path/to/output.sp20
  gsbox s2p -i /path/to/input.splat -o /path/to/output.ply simple-ply
  gsbox s2p -i /path/to/input.splat -o /path/to/output.ply -c "your comment"
  gsbox info -i /path/to/file.ply


# 把3dgs的ply转成splat
gsbox ply2splat -i /path/to/input.ply -o /path/to/output.splat

# 把3dgs的ply转成splat20
gsbox ply2splat20 -i /path/to/input.ply -o /path/to/output.sp20

# 把splat转成3dgs的ply
gsbox splat2ply -i /path/to/input.splat -o /path/to/output.ply

# 把splat转成3dgs的ply
gsbox splat2splat20 -i /path/to/input.splat -o /path/to/output.sp20

# 查看ply的文件头信息
gsbox info file.ply

更新履历、二进制执行文件下载

https://github.com/gotoeasy/gsbox/releases

About

一个关于 3d gaussian splating 的命令行小工具盒,ply 转 splat,ply 转 sp20,或者 splat 转 ply,splat 转 sp20 等命令行操作。convert ply to splat or sp20, convert splat to ply or sp20,etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages