|
OKVIS ROS
|
A multi camera frame that uses okvis::Frame underneath. More...
#include <MultiFrame.hpp>
Public Member Functions | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW | MultiFrame () |
| Default constructor. More... | |
| MultiFrame (const cameras::NCameraSystem &cameraSystem, const okvis::Time ×tamp, uint64_t id=0) | |
| Construct from NCameraSystem. More... | |
| virtual | ~MultiFrame () |
| Destructor... More... | |
| void | resetCameraSystemAndFrames (const cameras::NCameraSystem &cameraSystem) |
| (Re)set the NCameraSystem – which clears the frames as well. More... | |
| void | setTimestamp (const okvis::Time ×tamp) |
| (Re)set the timestamp More... | |
| void | setId (uint64_t id) |
| (Re)set the id More... | |
| const okvis::Time & | timestamp () const |
| Obtain the frame timestamp. More... | |
| uint64_t | id () const |
| Obtain the frame id. More... | |
| size_t | numFrames () const |
| The number of frames/cameras. More... | |
| std::shared_ptr< const okvis::kinematics::Transformation > | T_SC (size_t cameraIdx) const |
| Get the extrinsics of a camera. More... | |
| size_t | numKeypoints () const |
| Get the total number of keypoints in all frames. 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... | |
The following mirror the Frame functionality. | |
| void | setImage (size_t cameraIdx, const cv::Mat &image) |
| Set the frame image;. More... | |
| void | setGeometry (size_t cameraIdx, std::shared_ptr< const cameras::CameraBase > cameraGeometry) |
| Set the geometry. More... | |
| void | setDetector (size_t cameraIdx, std::shared_ptr< cv::FeatureDetector > detector) |
| Set the detector. More... | |
| void | setExtractor (size_t cameraIdx, std::shared_ptr< cv::DescriptorExtractor > extractor) |
| Set the extractor. More... | |
| const cv::Mat & | image (size_t cameraIdx) const |
| Obtain the image. More... | |
| std::shared_ptr< const cameras::CameraBase > | geometry (size_t cameraIdx) const |
| get the base class geometry (will be slow to use) More... | |
| template<class GEOMETRY_T > | |
| std::shared_ptr< const GEOMETRY_T > | geometryAs (size_t cameraIdx) const |
| Get the specific geometry (will be fast to use) More... | |
| int | detect (size_t cameraIdx) |
| Detect keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections. More... | |
| int | describe (size_t cameraIdx, const Eigen::Vector3d &extractionDirection=Eigen::Vector3d(0, 0, 1)) |
| Describe keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections. More... | |
| template<class GEOMETRY_T > | |
| int | describeAs (size_t cameraIdx, const Eigen::Vector3d &extractionDirection=Eigen::Vector3d(0, 0, 1)) |
| Describe keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections. More... | |
| bool | getCvKeypoint (size_t cameraIdx, size_t keypointIdx, cv::KeyPoint &keypoint) const |
| Access a specific keypoint in OpenCV format. More... | |
| bool | getKeypoint (size_t cameraIdx, size_t keypointIdx, Eigen::Vector2d &keypoint) const |
| Get a specific keypoint. More... | |
| bool | getKeypointSize (size_t cameraIdx, size_t keypointIdx, double &keypointSize) const |
| Get the size of a specific keypoint. More... | |
| const unsigned char * | keypointDescriptor (size_t cameraIdx, size_t keypointIdx) |
| Access the descriptor – CAUTION: high-speed version. More... | |
| bool | setLandmarkId (size_t cameraIdx, size_t keypointIdx, uint64_t landmarkId) |
| Set the landmark ID. More... | |
| uint64_t | landmarkId (size_t cameraIdx, size_t keypointIdx) const |
| Access the landmark ID. More... | |
| bool | resetKeypoints (size_t cameraIdx, const std::vector< cv::KeyPoint > &keypoints) |
| provide keypoints externally More... | |
| bool | resetDescriptors (size_t cameraIdx, const cv::Mat &descriptors) |
| provide descriptors externally More... | |
| size_t | numKeypoints (size_t cameraIdx) const |
| the number of keypoints More... | |
Protected Attributes | |
| okvis::Time | timestamp_ |
| the frame timestamp More... | |
| uint64_t | id_ |
| the frame id More... | |
| std::vector< Frame, Eigen::aligned_allocator < Frame > > | frames_ |
| the individual frames More... | |
| cameras::NCameraSystem | cameraSystem_ |
| the camera system More... | |
A multi camera frame that uses okvis::Frame underneath.
|
inline |
Default constructor.
|
inline |
Construct from NCameraSystem.
| [in] | cameraSystem | The camera system for which this is a multi-frame. |
| [in] | timestamp | The time this frame was recorded. |
| [in] | id | A unique frame Id. |
|
inlinevirtual |
Destructor...
|
inline |
Describe keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections.
| [in] | cameraIdx | The camera index. |
| [in] | extractionDirection | The extraction direction in camera frame |
That's a negligibly small overhead for many detections.
| extractionDirection | the extraction direction in camera frame returns the number of detected points. |
|
inline |
Describe keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections.
| GEOMETRY_T | The type for the camera geometry requested. |
| [in] | cameraIdx | The camera index. |
| [in] | extractionDirection | The extraction direction in camera frame |
|
inline |
Detect keypoints. This uses virtual function calls. That's a negligibly small overhead for many detections.
That's a negligibly small overhead for many detections. returns the number of detected points.
|
inline |
get the base class geometry (will be slow to use)
| [in] | cameraIdx | The camera index. |
|
inline |
Get the specific geometry (will be fast to use)
| GEOMETRY_T | The type for the camera geometry requested. |
| [in] | cameraIdx | The camera index. |
|
inline |
Access a specific keypoint in OpenCV format.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
| [out] | keypoint | The requested keypoint. |
|
inline |
Get a specific keypoint.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
| [out] | keypoint | The requested keypoint. |
|
inline |
Get the size of a specific keypoint.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
| [out] | keypointSize | The requested keypoint's size. |
|
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 |
Obtain the frame id.
|
inline |
Obtain the image.
| [in] | cameraIdx | The camera index. |
|
inline |
Access the descriptor – CAUTION: high-speed version.
returns NULL if out of bounds.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
|
inline |
Access the landmark ID.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
|
inline |
The number of frames/cameras.
|
inline |
the number of keypoints
| [in] | cameraIdx | The camera index. |
|
inline |
Get the total number of keypoints in all frames.
|
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. |
|
inline |
(Re)set the NCameraSystem – which clears the frames as well.
| [in] | cameraSystem | The camera system for which this is a multi-frame. |
|
inline |
provide descriptors externally
| [in] | cameraIdx | The camera index. |
| [in] | descriptors | A vector of descriptors. |
|
inline |
provide keypoints externally
| [in] | cameraIdx | The camera index. |
| [in] | keypoints | A vector of keyoints. |
|
inline |
Set the detector.
| [in] | cameraIdx | The camera index. |
| [in] | detector | The detector to be used. |
|
inline |
Set the extractor.
| [in] | cameraIdx | The camera index. |
| [in] | extractor | The extractor to be used. |
|
inline |
Set the geometry.
| [in] | cameraIdx | The camera index. |
| [in] | cameraGeometry | The camera geometry. |
|
inline |
(Re)set the id
| [in] | id | A unique frame Id. |
|
inline |
Set the frame image;.
| [in] | cameraIdx | The camera index that took the image. |
| [in] | image | The image. |
|
inline |
Set the landmark ID.
| [in] | cameraIdx | The camera index. |
| [in] | keypointIdx | The requested keypoint's index. |
| [in] | landmarkId | The landmark Id. |
|
inline |
(Re)set the timestamp
| [in] | timestamp | The time this frame was recorded. |
|
inline |
Get the extrinsics of a camera.
| [in] | cameraIdx | The camera index for which the extrinsics are queried. |
|
inline |
Obtain the frame timestamp.
|
protected |
the camera system
the individual frames
|
protected |
the frame id
|
protected |
the frame timestamp
1.8.6