videosource

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: AGPL-3.0 Imports: 40 Imported by: 0

Documentation

Overview

Package videosource defines various image sources typically registered as cameras in the API.

Index

Constants

View Source
const (
	// Null is a default value for the merge method.
	Null = MergeMethodType("")
	// Naive is the naive merge method.
	Naive = MergeMethodType("naive")
	// ICP is the ICP merge method.
	ICP = MergeMethodType("icp")
)

Variables

View Source
var ModelWebcam = resource.DefaultModelFamily.WithModel("webcam")

ModelWebcam is the name of the webcam component.

Functions

func Discover

func Discover(ctx context.Context, getDrivers func() []driver.Driver, logger logging.Logger) (*pb.Webcams, error)

Discover webcam attributes.

func NewServerSource

func NewServerSource(ctx context.Context, cfg *ServerConfig, logger logging.Logger) (camera.VideoSource, error)

NewServerSource creates the VideoSource that streams color/depth data from an external server at a given URL.

func NewWebcam added in v0.2.36

func NewWebcam(
	ctx context.Context,
	deps resource.Dependencies,
	conf resource.Config,
	logger logging.Logger,
) (camera.Camera, error)

NewWebcam returns a new source based on a webcam discovered from the given config.

Types

type CameraConfig

type CameraConfig struct {
	Label      string
	Status     driver.State
	Properties []prop.Media
}

CameraConfig is collection of configuration options for a camera.

type Config added in v0.2.47

type Config struct {
	TargetFrame   string   `json:"target_frame"`
	SourceCameras []string `json:"source_cameras"`
	// Closeness defines how close 2 points should be together to be considered the same point when merged.
	Closeness            float64                            `json:"proximity_threshold_mm,omitempty"`
	MergeMethod          string                             `json:"merge_method,omitempty"`
	CameraParameters     *transform.PinholeCameraIntrinsics `json:"intrinsic_parameters,omitempty"`
	DistortionParameters *transform.BrownConrady            `json:"distortion_parameters,omitempty"`
	Debug                bool                               `json:"debug,omitempty"`
}

Config is the attribute struct for joinPointCloudSource.

func (*Config) Validate added in v0.2.47

func (cfg *Config) Validate(path string) ([]string, error)

Validate ensures all parts of the config are valid.

type MergeMethodType

type MergeMethodType string

MergeMethodType Defines which strategy is used for merging.

type MergeMethodUnsupportedError

type MergeMethodUnsupportedError error

MergeMethodUnsupportedError is returned when the merge method is not supported.

type ServerConfig added in v0.2.36

type ServerConfig struct {
	resource.TriviallyValidateConfig
	CameraParameters     *transform.PinholeCameraIntrinsics `json:"intrinsic_parameters,omitempty"`
	DistortionParameters *transform.BrownConrady            `json:"distortion_parameters,omitempty"`
	Stream               string                             `json:"stream"`
	Debug                bool                               `json:"debug,omitempty"`
	URL                  string                             `json:"url"`
}

ServerConfig is the attribute struct for serverSource.

type StaticSource

type StaticSource struct {
	ColorImg image.Image
	DepthImg image.Image
	Proj     transform.Projector
}

StaticSource is a fixed, stored image. Used primarily for testing.

func (*StaticSource) Close

func (ss *StaticSource) Close(ctx context.Context) error

Close does nothing.

func (*StaticSource) Images added in v0.16.0

Images returns the saved color and depth image if they are present.

func (*StaticSource) NextPointCloud

func (ss *StaticSource) NextPointCloud(ctx context.Context) (pointcloud.PointCloud, error)

NextPointCloud returns the point cloud from projecting the rgb and depth image using the intrinsic parameters.

func (*StaticSource) Read

func (ss *StaticSource) Read(ctx context.Context) (image.Image, func(), error)

Read returns the stored image.

type WebcamConfig added in v0.2.36

type WebcamConfig struct {
	CameraParameters     *transform.PinholeCameraIntrinsics `json:"intrinsic_parameters,omitempty"`
	DistortionParameters *transform.BrownConrady            `json:"distortion_parameters,omitempty"`
	Debug                bool                               `json:"debug,omitempty"`
	Format               string                             `json:"format,omitempty"`
	Path                 string                             `json:"video_path"`
	Width                int                                `json:"width_px,omitempty"`
	Height               int                                `json:"height_px,omitempty"`
	FrameRate            float32                            `json:"frame_rate,omitempty"`
}

WebcamConfig is the attribute struct for webcams.

func (WebcamConfig) Validate added in v0.26.0

func (c WebcamConfig) Validate(path string) ([]string, error)

Validate ensures all parts of the config are valid.

Directories

Path Synopsis
Package logging is a thread-safe way to log video device information to a file.
Package logging is a thread-safe way to log video device information to a file.

Jump to

Keyboard shortcuts

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