OpenCV453
|
#include <depth.hpp>
cv::Algorithmを継承しています。
cv::rgbd::FastICPOdometry, cv::rgbd::ICPOdometry, cv::rgbd::RgbdICPOdometry, cv::rgbd::RgbdOdometryに継承されています。
公開型 | |
enum | { ROTATION = 1 , TRANSLATION = 2 , RIGID_BODY_MOTION = 4 } |
公開メンバ関数 | |
CV_WRAP bool | compute (const Mat &srcImage, const Mat &srcDepth, const Mat &srcMask, const Mat &dstImage, const Mat &dstDepth, const Mat &dstMask, OutputArray Rt, const Mat &initRt=Mat()) const |
CV_WRAP_AS (compute2) bool compute(Ptr< OdometryFrame > &srcFrame | |
virtual CV_WRAP Size | prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const |
virtual CV_WRAP cv::Mat | getCameraMatrix () const =0 |
virtual CV_WRAP void | setCameraMatrix (const cv::Mat &val)=0 |
virtual CV_WRAP int | getTransformType () const =0 |
virtual CV_WRAP void | setTransformType (int val)=0 |
![]() | |
virtual CV_WRAP void | clear () |
Clears the algorithm state [詳解] | |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage [詳解] | |
CV_WRAP void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
simplified API for language bindings これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 | |
virtual CV_WRAP void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage [詳解] | |
virtual CV_WRAP bool | empty () const |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read [詳解] | |
virtual CV_WRAP void | save (const String &filename) const |
virtual CV_WRAP String | getDefaultName () const |
静的公開メンバ関数 | |
static CV_WRAP float | DEFAULT_MIN_DEPTH () |
static CV_WRAP float | DEFAULT_MAX_DEPTH () |
static CV_WRAP float | DEFAULT_MAX_DEPTH_DIFF () |
static CV_WRAP float | DEFAULT_MAX_POINTS_PART () |
static CV_WRAP float | DEFAULT_MAX_TRANSLATION () |
static CV_WRAP float | DEFAULT_MAX_ROTATION () |
static CV_WRAP Ptr< Odometry > | create (const String &odometryType) |
![]() | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node [詳解] | |
template<typename _Tp > | |
static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
Loads algorithm from the file [詳解] | |
template<typename _Tp > | |
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
Loads algorithm from a String [詳解] | |
公開変数類 | |
Ptr< OdometryFrame > & | dstFrame |
Ptr< OdometryFrame > OutputArray | Rt |
Ptr< OdometryFrame > OutputArray const Mat & | initRt = Mat()) const |
限定公開メンバ関数 | |
virtual void | checkParams () const =0 |
virtual bool | computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const =0 |
![]() | |
void | writeFormat (FileStorage &fs) const |
Base class for computation of odometry.
anonymous enum |
A class of transformation
CV_WRAP bool cv::rgbd::Odometry::compute | ( | const Mat & | srcImage, |
const Mat & | srcDepth, | ||
const Mat & | srcMask, | ||
const Mat & | dstImage, | ||
const Mat & | dstDepth, | ||
const Mat & | dstMask, | ||
OutputArray | Rt, | ||
const Mat & | initRt = Mat() |
||
) | const |
Method to compute a transformation from the source frame to the destination one. Some odometry algorithms do not used some data of frames (eg. ICP does not use images). In such case corresponding arguments can be set as empty Mat. The method returns true if all internal computations were possible (e.g. there were enough correspondences, system of equations has a solution, etc) and resulting transformation satisfies some test if it's provided by the Odometry inheritor implementation (e.g. thresholds for maximum translation and rotation).
srcImage | Image data of the source frame (CV_8UC1) |
srcDepth | Depth data of the source frame (CV_32FC1, in meters) |
srcMask | Mask that sets which pixels have to be used from the source frame (CV_8UC1) |
dstImage | Image data of the destination frame (CV_8UC1) |
dstDepth | Depth data of the destination frame (CV_32FC1, in meters) |
dstMask | Mask that sets which pixels have to be used from the destination frame (CV_8UC1) |
Rt | Resulting transformation from the source frame to the destination one (rigid body motion): dst_p = Rt * src_p, where dst_p is a homogeneous point in the destination frame and src_p is homogeneous point in the source frame, Rt is 4x4 matrix of CV_64FC1 type. |
initRt | Initial transformation from the source frame to the destination one (optional) |
cv::rgbd::Odometry::CV_WRAP_AS | ( | compute2 | ) | & |
One more method to compute a transformation from the source frame to the destination one. It is designed to save on computing the frame data (image pyramids, normals, etc.).
|
pure virtual |
|
pure virtual |
|
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. |
cv::rgbd::RgbdOdometry, cv::rgbd::ICPOdometry, cv::rgbd::RgbdICPOdometry, cv::rgbd::FastICPOdometryで再実装されています。
|
pure virtual |
|
pure virtual |