LibMultiSense
LibMultiSense Documentation
crl::multisense::image::Calibration Class Reference

Class used For querying/setting camera calibration. More...

#include <MultiSenseTypes.hh>

Collaboration diagram for crl::multisense::image::Calibration:

Classes

class  Data
 Class to store camera calibration matrices. More...
 

Public Attributes

Data left
 Full resolution camera calibration corresponding to the left camera. More...
 
Data right
 Full resolution camera calibration corresponding to the right camera. More...
 
Data aux
 Full resolution camera calibration corresponding to aux color camera. More...
 

Detailed Description

Class used For querying/setting camera calibration.

Parameters are for the maximum operating resolution of the device: CMV2000: 2048x1088 CVM4000: 2048x2048

Example code to querying the current camera calibration from a sensor:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a image::Calibration instance to store the queried calibration
//
// Query the camera calibration from the Channel instance
crl::multisense::Status status = channel->getImageCalibration(imageCalibration);
//
// Check to see if the calibration query succeeded
throw std::runtime_error("Unable to query image calibration");
}
//
// Use the image calibration...
//
// Destroy the channel instance

Example code to set a camera calibration:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a image::Calibration instance to store the queried calibration
//
// Initialize left and right calibration matrices.
// In this example we are using arbitrary values. These should be
// parameters generated from stereo calibration routine. All sensors
// ship pre-calibrated so this operation is unnecessary.
imageCalibration.left.M = { {1, 0, 0}, {0, 1, 0}, {0, 0, 1} };
imageCalibration.right.M = { {1, 0, 0}, {0, 1, 0}, {0, 0, 1} };
imageCalibration.left.D = { 1, 1, 1, 1, 1, 0, 0, 0 };
imageCalibration.right.D = { 1, 1, 1, 1, 1, 0, 0, 0 };
imageCalibration.left.R = { {1, 0, 0}, {0, 1, 0}, {0, 0, 1} };
imageCalibration.right.R = { {1, 0, 0}, {0, 1, 0}, {0, 0, 1} };
imageCalibration.left.P = { {1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0} };
imageCalibration.right.P = { {1, 0, 0, 1}, {0, 1, 0, 0}, {0, 0, 1, 0} };
//
// Send the new camera calibration to the sensor
crl::multisense::Status status = channel->setImageCalibration(imageCalibration);
//
// Check to see if the sensor successfully received the new camera calibration
throw std::runtime_error("Unable to set image calibration");
}
//
// Destroy the channel instance

Definition at line 1543 of file MultiSenseTypes.hh.

Member Data Documentation

◆ aux

Data crl::multisense::image::Calibration::aux

Full resolution camera calibration corresponding to aux color camera.

Definition at line 1568 of file MultiSenseTypes.hh.

◆ left

Data crl::multisense::image::Calibration::left

Full resolution camera calibration corresponding to the left camera.

Definition at line 1564 of file MultiSenseTypes.hh.

◆ right

Data crl::multisense::image::Calibration::right

Full resolution camera calibration corresponding to the right camera.

Definition at line 1566 of file MultiSenseTypes.hh.


The documentation for this class was generated from the following file:
crl::multisense::Channel
Class which manages all communications with a MultiSense device.
Definition: MultiSenseChannel.hh:69
crl::multisense::Status_Ok
static CRL_CONSTEXPR Status Status_Ok
Definition: MultiSenseTypes.hh:98
crl::multisense::image::Calibration::Data::M
float M[3][3]
Camera un-rectified 3x3 projection matrix.
Definition: MultiSenseTypes.hh:1553
crl::multisense::image::Calibration
Class used For querying/setting camera calibration.
Definition: MultiSenseTypes.hh:1543
crl::multisense::image::Calibration::right
Data right
Full resolution camera calibration corresponding to the right camera.
Definition: MultiSenseTypes.hh:1566
crl::multisense::image::Calibration::Data::R
float R[3][3]
Camera 3x3 rectification matrix.
Definition: MultiSenseTypes.hh:1558
crl::multisense::image::Calibration::left
Data left
Full resolution camera calibration corresponding to the left camera.
Definition: MultiSenseTypes.hh:1564
crl::multisense::Channel::Destroy
static void Destroy(Channel *instanceP)
Destroy a channel instance that was created using the static member function Channel::Create().
crl::multisense::Status
int32_t Status
General status typdef used as a return value for get/set crl::multisense::Channel methods.
Definition: MultiSenseTypes.hh:93
crl::multisense::Channel::setMtu
virtual Status setMtu(int32_t mtu)=0
Set the current sensor's MTU.
crl::multisense::Channel::setImageCalibration
virtual Status setImageCalibration(const image::Calibration &c)=0
Set the current camera calibration.
crl::multisense::Channel::getImageCalibration
virtual Status getImageCalibration(image::Calibration &c)=0
Query the current camera calibration.
crl::multisense::image::Calibration::Data::P
float P[3][4]
Camera 3x4 rectified projection matrix.
Definition: MultiSenseTypes.hh:1560
crl::multisense::image::Calibration::Data::D
float D[8]
Camera distortion matrix.
Definition: MultiSenseTypes.hh:1556
crl::multisense::Channel::Create
static Channel * Create(const std::string &sensorAddress)
Create a Channel instance, used to manage all communications with a sensor.