OpenCV
3.2.0
Open Source Computer Vision
|
#include "rgbd.hpp"
Public Member Functions | |
ICPOdometry () | |
ICPOdometry (const Mat &cameraMatrix, float minDepth=DEFAULT_MIN_DEPTH(), float maxDepth=DEFAULT_MAX_DEPTH(), float maxDepthDiff=DEFAULT_MAX_DEPTH_DIFF(), float maxPointsPart=DEFAULT_MAX_POINTS_PART(), const std::vector< int > &iterCounts=std::vector< int >(), int transformType=RIGID_BODY_MOTION) | |
cv::Mat | getCameraMatrix () const |
cv::Mat | getIterationCounts () const |
double | getMaxDepth () const |
double | getMaxDepthDiff () const |
double | getMaxPointsPart () const |
double | getMaxRotation () const |
double | getMaxTranslation () const |
double | getMinDepth () const |
Ptr< RgbdNormals > | getNormalsComputer () const |
int | getTransformType () const |
virtual Size | prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const |
void | setCameraMatrix (const cv::Mat &val) |
void | setIterationCounts (const cv::Mat &val) |
void | setMaxDepth (double val) |
void | setMaxDepthDiff (double val) |
void | setMaxPointsPart (double val) |
void | setMaxRotation (double val) |
void | setMaxTranslation (double val) |
void | setMinDepth (double val) |
void | setTransformType (int val) |
Public Member Functions inherited from cv::rgbd::Odometry | |
bool | compute (const Mat &srcImage, const Mat &srcDepth, const Mat &srcMask, const Mat &dstImage, const Mat &dstDepth, const Mat &dstMask, Mat &Rt, const Mat &initRt=Mat()) const |
bool | compute (Ptr< OdometryFrame > &srcFrame, Ptr< OdometryFrame > &dstFrame, Mat &Rt, const Mat &initRt=Mat()) const |
Public Member Functions inherited from cv::Algorithm | |
Algorithm () | |
virtual | ~Algorithm () |
virtual void | clear () |
Clears the algorithm state. More... | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More... | |
virtual String | getDefaultName () const |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. More... | |
virtual void | save (const String &filename) const |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. More... | |
Protected Member Functions | |
virtual void | checkParams () const |
virtual bool | computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, Mat &Rt, const Mat &initRt) const |
Protected Member Functions inherited from cv::Algorithm | |
void | writeFormat (FileStorage &fs) const |
Protected Attributes | |
Mat | cameraMatrix |
Mat | iterCounts |
double | maxDepth |
double | maxDepthDiff |
double | maxPointsPart |
double | maxRotation |
double | maxTranslation |
double | minDepth |
Ptr< RgbdNormals > | normalsComputer |
int | transformType |
Additional Inherited Members | |
Public Types inherited from cv::rgbd::Odometry | |
enum | { ROTATION = 1, TRANSLATION = 2, RIGID_BODY_MOTION = 4 } |
Static Public Member Functions inherited from cv::rgbd::Odometry | |
static Ptr< Odometry > | create (const String &odometryType) |
static float | DEFAULT_MAX_DEPTH () |
static float | DEFAULT_MAX_DEPTH_DIFF () |
static float | DEFAULT_MAX_POINTS_PART () |
static float | DEFAULT_MAX_ROTATION () |
static float | DEFAULT_MAX_TRANSLATION () |
static float | DEFAULT_MIN_DEPTH () |
Static Public Member Functions inherited from cv::Algorithm | |
template<typename _Tp > | |
static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
Loads algorithm from the file. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
Loads algorithm from a String. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node. More... | |
Odometry based on the paper "KinectFusion: Real-Time Dense Surface Mapping and Tracking", Richard A. Newcombe, Andrew Fitzgibbon, at al, SIGGRAPH, 2011.
cv::rgbd::ICPOdometry::ICPOdometry | ( | ) |
cv::rgbd::ICPOdometry::ICPOdometry | ( | const Mat & | cameraMatrix, |
float | minDepth = DEFAULT_MIN_DEPTH() , |
||
float | maxDepth = DEFAULT_MAX_DEPTH() , |
||
float | maxDepthDiff = DEFAULT_MAX_DEPTH_DIFF() , |
||
float | maxPointsPart = DEFAULT_MAX_POINTS_PART() , |
||
const std::vector< int > & | iterCounts = std::vector< int >() , |
||
int | transformType = RIGID_BODY_MOTION |
||
) |
Constructor.
cameraMatrix | Camera matrix |
minDepth | Pixels with depth less than minDepth will not be used |
maxDepth | Pixels with depth larger than maxDepth will not be used |
maxDepthDiff | Correspondences between pixels of two given frames will be filtered out if their depth difference is larger than maxDepthDiff |
maxPointsPart | The method uses a random pixels subset of size frameWidth x frameHeight x pointsPart |
iterCounts | Count of iterations on each pyramid level. |
transformType | Class of trasformation |
|
protectedvirtual |
Implements cv::rgbd::Odometry.
|
protectedvirtual |
Implements cv::rgbd::Odometry.
|
virtual |
Implements cv::rgbd::Odometry.
cv::Mat cv::rgbd::ICPOdometry::getIterationCounts | ( | ) | const |
double cv::rgbd::ICPOdometry::getMaxDepth | ( | ) | const |
double cv::rgbd::ICPOdometry::getMaxDepthDiff | ( | ) | const |
double cv::rgbd::ICPOdometry::getMaxPointsPart | ( | ) | const |
double cv::rgbd::ICPOdometry::getMaxRotation | ( | ) | const |
double cv::rgbd::ICPOdometry::getMaxTranslation | ( | ) | const |
double cv::rgbd::ICPOdometry::getMinDepth | ( | ) | const |
Ptr<RgbdNormals> cv::rgbd::ICPOdometry::getNormalsComputer | ( | ) | const |
|
virtual |
Implements cv::rgbd::Odometry.
|
virtual |
Prepare a cache for the frame. The function checks the precomputed/passed data (throws the error if this data does not satisfy) and computes all remaining cache data needed for the frame. Returned size is a resolution of the prepared frame.
frame | The odometry which will process the frame. |
cacheType | The cache type: CACHE_SRC, CACHE_DST or CACHE_ALL. |
Reimplemented from cv::rgbd::Odometry.
|
virtual |
Implements cv::rgbd::Odometry.
void cv::rgbd::ICPOdometry::setIterationCounts | ( | const cv::Mat & | val | ) |
void cv::rgbd::ICPOdometry::setMaxDepth | ( | double | val | ) |
void cv::rgbd::ICPOdometry::setMaxDepthDiff | ( | double | val | ) |
void cv::rgbd::ICPOdometry::setMaxPointsPart | ( | double | val | ) |
void cv::rgbd::ICPOdometry::setMaxRotation | ( | double | val | ) |
void cv::rgbd::ICPOdometry::setMaxTranslation | ( | double | val | ) |
void cv::rgbd::ICPOdometry::setMinDepth | ( | double | val | ) |
|
virtual |
Implements cv::rgbd::Odometry.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |