sfm

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2024 License: MIT Imports: 3 Imported by: 0

README

SFM

Structs for interacting with reconstruction data from different SFM programs

  • COLMAP
    • Cameras
    • Points
  • OpenSFM
    • reconstruction.json
  • Meshroom
    • cameras.sfm

COLMAP

Point Data

Interact with COLMAPS's points3D.bin file output under the sparse reconstruction data.

package example

import (
	"fmt"

	"github.com/EliCDavis/sfm/colmap"
)

func main() {
	points, err := colmap.LoadPoints3DBinary("ColmapProject/sparse/0/points3D.bin")
	if err != nil {
		panic(err)
	}

	fmt.Printf("File contains %d points", len(points))
}

Cameras

Interact with COLMAPS's cameras.bin file output under the sparse reconstruction data.

package example

import (
	"fmt"

	"github.com/EliCDavis/sfm/colmap"
)

func main() {
	cameras, err := colmap.LoadCamerasBinary("ColmapProject/sparse/0/cameras.bin")
	if err != nil {
		panic(err)
	}

	fmt.Printf("File contains %d cameras", len(cameras))
}

Meshroom

Interact with Meshroom's cameras.sfm file output from the StructureFromMotion step.

package example

import (
	"fmt"

	"github.com/EliCDavis/sfm/meshroom"
)

func main() {
	cameras, err := meshroom.LoadCameras("MeshroomProject/MeshroomCache/StructureFromMotion/abc123/cameras.sfm")
	if err != nil {
		panic(err)
	}

	fmt.Printf("File contains %d Poses", len(cameras.Poses))
}

OpenSFM

Interact with OpenSFM's reconstruction.json file output from the reconstruct step.

package example

import (
	"fmt"

	"github.com/EliCDavis/sfm/opensfm"
)

func main() {
	reconstructions, err := opensfm.LoadReconstruction("MyOpenSFMProject/reconstruction.json")
	if err != nil {
		panic(err)
	}

	fmt.Printf("File contains %d reconstructions", len(reconstructions))
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadJSONFile

func LoadJSONFile[T any](filename string) (T, error)

func ReadJSON added in v1.0.1

func ReadJSON[T any](in io.Reader) (T, error)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL