Integrate OptiTrack cameras with tracking and vision applications. Full camera control and sample application source code included.
The Camera SDK is a free development package that enables users to control and capture from NaturalPoint cameras in order to create custom tracking and vision applications. The SDK includes full camera control, access to 2D object data, camera synchronization, and comprehensive vector tracking—a complete assortment of tools to create cost-effective, powerful applications from scratch or integrate with existing software.
All current OptiTrack, TrackIR and SmartNav camera models are supported in addition to many discontinued models. The OptiHub and Hardware Key are also supported for synchronization and licensing development.
Support for the Camera SDK is provided only when used with OptiTrack hardware.
Simple C++ Integration
A C++ interface for development replaces the previous OptiTrack SDK’s COM interface for greater ease of integration with a variety of software languages and frameworks.
Extensive access to camera functions, methods, callbacks and properties for complete control of your vision system, including:
- Video mode (object, segment, precision, raw grayscale, MJPEG)
- Frame rate w/ frame decimation control
- Exposure w/ automatic exposure control
- Automatic gain control
- Hardware masking
- Image size windowing
- Filter Switcher
- High Power Mode (Flex 13 and V100:R2/Flex 3 only)
- Status LED control
2D object data for up to 512 objects in the camera’s view can be extracted for tracking and filtering purposes. Available information includes:
- Location (weighted X,Y coordinates)
- Ability to remove lens distortion effects
6DoF Vector Tracking
The Camera SDK includes basic vector tracking for both the TrackClip and TrackClip PRO, providing 6DoF output. Vector is a proprietary technology developed by NaturalPoint for 6DoF tracking using three markers and a single camera.
Multiple cameras can be synchronized to fire their shutters and expose frames at the same time. Instead of fetching frames from individual cameras, groups can be created to both fetch synchronized frames and confirm that cameras within the group are properly synchronized.
Sample Applications with Source Code
Source code and documentation for sample applications are included to demonstrate best practices and provide starting points for using the SDK. Sample apps include:
- Camera List
- Frame Synchronization
- Image Processing
- MJPEG Viewer
- Segment Mode
- Vector Tracking