|
OKVIS ROS
|
A class that assembles multiple cameras into a system of (potentially different) cameras. More...
#include <NCameraSystem.hpp>
Public Types | |
| enum | DistortionType { Equidistant = 0, RadialTangential = 1, NoDistortion = 2, RadialTangential8 = 3 } |
| The enumeration of the currently supported distortion types. More... | |
Public Member Functions | |
| NCameraSystem () | |
| Default constructor. More... | |
| NCameraSystem (const std::vector< std::shared_ptr< const okvis::kinematics::Transformation >> &T_SC, const std::vector< std::shared_ptr< const cameras::CameraBase >> &cameraGeometries, const std::vector< DistortionType > &distortionTypes, bool computeOverlaps) | |
| Construct with vector of extrinsics and geometries. More... | |
| virtual | ~NCameraSystem () |
| Destructor that doesn't do anything really. More... | |
| void | reset (const std::vector< std::shared_ptr< const okvis::kinematics::Transformation >> &T_SC, const std::vector< std::shared_ptr< const cameras::CameraBase >> &cameraGeometries, const std::vector< DistortionType > &distortionTypes, bool computeOverlaps) |
| Reset with vector of extrinsics and geometries. More... | |
| void | addCamera (std::shared_ptr< const okvis::kinematics::Transformation > T_SC, std::shared_ptr< const cameras::CameraBase > cameraGeometry, DistortionType distortionType, bool computeOverlaps=true) |
| Append with a single camera. More... | |
| size_t | numCameras () const |
| Obtatin the number of cameras currently added. More... | |
| void | computeOverlaps () |
| compute all the overlaps of fields of view. Attention: can be expensive. More... | |
| std::shared_ptr< const okvis::kinematics::Transformation > | T_SC (size_t cameraIndex) const |
| get the pose of the IMU frame S with respect to the camera cameraIndex More... | |
| std::shared_ptr< const cameras::CameraBase > | cameraGeometry (size_t cameraIndex) const |
| get the camera geometry of camera cameraIndex More... | |
| DistortionType | distortionType (size_t cameraIndex) const |
| get the distortion type of the camera More... | |
| const cv::Mat | overlap (size_t cameraIndexSeenBy, size_t cameraIndex) const |
| Get the overlap mask. Sorry for the weird syntax, but remember that cv::Mat is essentially a shared pointer. More... | |
| bool | hasOverlap (size_t cameraIndexSeenBy, size_t cameraIndex) const |
| Can the first camera see parts of the FOV of the second camera? More... | |
Protected Member Functions | |
| bool | overlapComputationValid () const |
| Use this to check overlapMats_ and overlaps_ have correct sizes. More... | |
Protected Attributes | |
| std::vector< std::shared_ptr < const okvis::kinematics::Transformation > > | T_SC_ |
| Mounting transformations from IMU. More... | |
| std::vector< std::shared_ptr < const cameras::CameraBase > > | cameraGeometries_ |
| Camera geometries. More... | |
| std::vector< DistortionType > | distortionTypes_ |
| std::vector< std::vector < cv::Mat > > | overlapMats_ |
| Overlaps between cameras: mats. More... | |
| std::vector< std::vector< bool > > | overlaps_ |
| Overlaps between cameras: binary. More... | |
A class that assembles multiple cameras into a system of (potentially different) cameras.
The enumeration of the currently supported distortion types.
| Enumerator | |
|---|---|
| Equidistant |
Use with okvis::cameras::EquidistantDistortion. |
| RadialTangential | |
| NoDistortion | |
| RadialTangential8 | |
|
inline |
Default constructor.
|
inline |
Construct with vector of extrinsics and geometries.
| [in] | T_SC | a vector of extrinsics. |
| [in] | cameraGeometries | a vector of camera geometries (same length as T_SC). |
| [in] | distortionTypes | a vector of distortion types (same length as T_SC). |
| [in] | computeOverlaps | Indicate, if the overlap computation (can take a while) should be performed. |
|
inlinevirtual |
Destructor that doesn't do anything really.
|
inline |
Append with a single camera.
| [in] | T_SC | extrinsics. |
| [in] | cameraGeometry | Camera geometry. |
| [in] | distortionType | Distortion type. |
| [in] | computeOverlaps | Indicate, if the overlap computation (can take a while) should be performed. |
|
inline |
get the camera geometry of camera cameraIndex
| [in] | cameraIndex | The camera index for which the camera geometry should be returned. |
| void okvis::cameras::NCameraSystem::computeOverlaps | ( | ) |
compute all the overlaps of fields of view. Attention: can be expensive.
|
inline |
get the distortion type of the camera
| [in] | cameraIndex | The camera index for which the distortion type should be returned. |
|
inline |
Can the first camera see parts of the FOV of the second camera?
| [in] | cameraIndexSeenBy | The camera index for one camera. |
| [in] | cameraIndex | The camera index for the other camera. |
|
inline |
Obtatin the number of cameras currently added.
|
inline |
Get the overlap mask. Sorry for the weird syntax, but remember that cv::Mat is essentially a shared pointer.
| [in] | cameraIndexSeenBy | The camera index for one camera. |
| [in] | cameraIndex | The camera index for the other camera. |
|
inlineprotected |
Use this to check overlapMats_ and overlaps_ have correct sizes.
|
inline |
Reset with vector of extrinsics and geometries.
| [in] | T_SC | a vector of extrinsics. |
| [in] | cameraGeometries | a vector of camera geometries (same length as T_SC). |
| [in] | distortionTypes | a vector of distortion types (same length as T_SC). |
| [in] | computeOverlaps | Indicate, if the overlap computation (can take a while) should be performed. |
|
inline |
get the pose of the IMU frame S with respect to the camera cameraIndex
| [in] | cameraIndex | The camera index for which the extrinsics should be returned. |
|
protected |
Camera geometries.
|
protected |
|
protected |
Overlaps between cameras: mats.
|
protected |
Overlaps between cameras: binary.
|
protected |
Mounting transformations from IMU.
1.8.6