![]() |
Visual Servoing Platform version 3.7.0
|
#include <vpMbtFaceDepthNormal.h>
Public Types | |
| enum | vpFaceCentroidType { GEOMETRIC_CENTROID , MEAN_CENTROID } |
| enum | vpFeatureEstimationType { ROBUST_FEATURE_ESTIMATION = 0 , ROBUST_SVD_PLANE_ESTIMATION = 1 , PCL_PLANE_ESTIMATION = 2 } |
Public Member Functions | |
| vpMbtFaceDepthNormal () | |
| vpMbtFaceDepthNormal (const vpMbtFaceDepthNormal &mbt_face) | |
| virtual | ~vpMbtFaceDepthNormal () |
| vpMbtFaceDepthNormal & | operator= (const vpMbtFaceDepthNormal &mbt_face) |
| void | addLine (vpPoint &p1, vpPoint &p2, vpMbHiddenFaces< vpMbtPolygon > *const faces, vpUniRand &rand_gen, int polygon=-1, std::string name="") |
| bool | computeDesiredFeatures (const vpHomogeneousMatrix &cMo, unsigned int width, unsigned int height, const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &point_cloud, vpColVector &desired_features, unsigned int stepX, unsigned int stepY, const vpImage< bool > *mask=nullptr) |
| bool | computeDesiredFeatures (const vpHomogeneousMatrix &cMo, unsigned int width, unsigned int height, const std::vector< vpColVector > &point_cloud, vpColVector &desired_features, unsigned int stepX, unsigned int stepY, const vpImage< bool > *mask=nullptr) |
| bool | computeDesiredFeatures (const vpHomogeneousMatrix &cMo, unsigned int width, unsigned int height, const vpMatrix &point_cloud, vpColVector &desired_features, unsigned int stepX, unsigned int stepY, const vpImage< bool > *mask=nullptr) |
| void | computeInteractionMatrix (const vpHomogeneousMatrix &cMo, vpMatrix &L, vpColVector &features) |
| void | computeVisibility () |
| void | computeVisibilityDisplay () |
| bool | planeIsInvalid (const vpHomogeneousMatrix &cMo, double maxAngle) |
| void | computeNormalVisibility (double nx, double ny, double nz, const vpColVector ¢roid_point, vpColVector &face_normal) |
| void | computeNormalVisibility (float nx, float ny, float nz, const pcl::PointXYZ ¢roid_point, pcl::PointXYZ &face_normal) |
| void | computeNormalVisibility (double nx, double ny, double nz, const vpHomogeneousMatrix &cMo, const vpCameraParameters &camera, vpColVector &correct_normal, vpPoint ¢roid) |
| void | display (const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false) |
| void | display (const vpImage< vpRGBa > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, const vpColor &col, unsigned int thickness=1, bool displayFullModel=false) |
| void | displayFeature (const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, double scale=0.05, unsigned int thickness=1) |
| void | displayFeature (const vpImage< vpRGBa > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, double scale=0.05, unsigned int thickness=1) |
| std::vector< std::vector< double > > | getFeaturesForDisplay (const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, double scale=0.05) |
| std::vector< std::vector< double > > | getModelForDisplay (unsigned int width, unsigned int height, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, bool displayFullModel=false) |
| bool | isTracked () const |
| bool | isVisible () const |
| void | setCameraParameters (const vpCameraParameters &camera) |
| void | setFaceCentroidMethod (const vpFaceCentroidType &method) |
| void | setFeatureEstimationMethod (const vpFeatureEstimationType &method) |
| void | setPclPlaneEstimationMethod (int method) |
| void | setPclPlaneEstimationRansacMaxIter (int maxIter) |
| void | setPclPlaneEstimationRansacThreshold (double threshold) |
| void | setScanLineVisibilityTest (bool v) |
| void | setTracked (bool tracked) |
Public Attributes | |
| vpCameraParameters | m_cam |
| unsigned int | m_clippingFlag |
| double | m_distFarClip |
| double | m_distNearClip |
| vpMbHiddenFaces< vpMbtPolygon > * | m_hiddenFace |
| vpPlane | m_planeObject |
| vpMbtPolygon * | m_polygon |
| bool | m_useScanLine |
Protected Member Functions | |
| bool | computeDesiredFeaturesPCL (const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &point_cloud_face, vpColVector &desired_features, vpColVector &desired_normal, vpColVector ¢roid_point) |
| void | computeDesiredFeaturesRobustFeatures (const std::vector< double > &point_cloud_face_custom, const std::vector< double > &point_cloud_face, const vpHomogeneousMatrix &cMo, vpColVector &desired_features, vpColVector &desired_normal, vpColVector ¢roid_point) |
| void | computeDesiredFeaturesSVD (const std::vector< double > &point_cloud_face, const vpHomogeneousMatrix &cMo, vpColVector &desired_features, vpColVector &desired_normal, vpColVector ¢roid_point) |
| void | computeDesiredNormalAndCentroid (const vpHomogeneousMatrix &cMo, const vpColVector &desired_normal, const vpColVector ¢roid_point) |
| bool | computePolygonCentroid (const std::vector< vpPoint > &points, vpPoint ¢roid) |
| void | computeROI (const vpHomogeneousMatrix &cMo, unsigned int width, unsigned int height, std::vector< vpImagePoint > &roiPts) |
| void | estimateFeatures (const std::vector< double > &point_cloud_face, const vpHomogeneousMatrix &cMo, vpColVector &x_estimated, std::vector< double > &weights) |
| void | estimatePlaneEquationSVD (const std::vector< double > &point_cloud_face, const vpHomogeneousMatrix &cMo, vpColVector &plane_equation_estimated, vpColVector ¢roid) |
| bool | samePoint (const vpPoint &P1, const vpPoint &P2) const |
Protected Attributes | |
| bool | m_faceActivated |
| vpFaceCentroidType | m_faceCentroidMethod |
| vpPoint | m_faceDesiredCentroid |
| vpPoint | m_faceDesiredNormal |
| vpFeatureEstimationType | m_featureEstimationMethod |
| bool | m_isTrackedDepthNormalFace |
| bool | m_isVisible |
| std::vector< vpMbtDistanceLine * > | m_listOfFaceLines |
| vpPlane | m_planeCamera |
| int | m_pclPlaneEstimationMethod |
| int | m_pclPlaneEstimationRansacMaxIter |
| double | m_pclPlaneEstimationRansacThreshold |
| std::vector< PolygonLine > | m_polygonLines |
Manage depth normal features for a particular face.
Tutorials
If you are interested in using a MBT tracker in your applications, you may have a look at:
Definition at line 68 of file vpMbtFaceDepthNormal.h.
How to compute the centroid of a face using depth feature.
| Enumerator | |
|---|---|
| GEOMETRIC_CENTROID | Compute the geometric centroid. |
| MEAN_CENTROID | Compute the mean centroid. |
Definition at line 74 of file vpMbtFaceDepthNormal.h.
How to estimate the normal of a face using depth feature.
Definition at line 83 of file vpMbtFaceDepthNormal.h.
| BEGIN_VISP_NAMESPACE vpMbtFaceDepthNormal::vpMbtFaceDepthNormal | ( | ) |
Definition at line 57 of file vpMbtFaceDepthNormal.cpp.
References GEOMETRIC_CENTROID, m_cam, m_clippingFlag, m_distFarClip, m_distNearClip, m_faceActivated, m_faceCentroidMethod, m_faceDesiredCentroid, m_faceDesiredNormal, m_featureEstimationMethod, m_hiddenFace, m_isTrackedDepthNormalFace, m_isVisible, m_listOfFaceLines, m_pclPlaneEstimationMethod, m_pclPlaneEstimationRansacMaxIter, m_pclPlaneEstimationRansacThreshold, m_planeCamera, m_planeObject, m_polygon, m_polygonLines, m_useScanLine, and ROBUST_FEATURE_ESTIMATION.
Referenced by operator=(), and vpMbtFaceDepthNormal().
| vpMbtFaceDepthNormal::vpMbtFaceDepthNormal | ( | const vpMbtFaceDepthNormal & | mbt_face | ) |
Copy constructor.
| mbt_face | : MBT face to copy. |
Definition at line 71 of file vpMbtFaceDepthNormal.cpp.
References vpMbtFaceDepthNormal().
|
virtual |
| void vpMbtFaceDepthNormal::addLine | ( | vpPoint & | P1, |
| vpPoint & | P2, | ||
| vpMbHiddenFaces< vpMbtPolygon > *const | faces, | ||
| vpUniRand & | rand_gen, | ||
| int | polygon = -1, | ||
| std::string | name = "" ) |
Add a line belonging to the
the polygon to the list of lines. It is defined by its two extremities.
If the line already exists, the polygon's index is added to the list of polygon to which it belongs.
| P1 | : The first extremity of the line. |
| P2 | : The second extremity of the line. |
| faces | : Pointer to vpMbHiddenFaces. |
| rand_gen | : Random number generator used in vpMbtDistanceLine::buildFrom(). |
| polygon | : The index of the polygon to which the line belongs. |
| name | : the optional name of the line |
Definition at line 131 of file vpMbtFaceDepthNormal.cpp.
References vpPolygon3D::addPoint(), vpMbtDistanceLine::addPolygon(), vpMbtDistanceLine::buildFrom(), vpPolygon3D::FAR_CLIPPING, vpMbtDistanceLine::getPolygon(), vpMbtDistanceLine::hiddenface, m_cam, m_clippingFlag, m_distFarClip, m_distNearClip, m_listOfFaceLines, m_polygonLines, m_useScanLine, vpPolygon3D::NEAR_CLIPPING, vpPolygon3D::NO_CLIPPING, vpPolygon3D::p, vpMbtDistanceLine::p1, vpMbtDistanceLine::p2, samePoint(), vpMbtDistanceLine::setCameraParameters(), vpPolygon3D::setClipping(), vpPolygon3D::setFarClippingDistance(), vpMbtDistanceLine::setIndex(), vpMbtDistanceLine::setName(), vpPolygon3D::setNbPoint(), vpPolygon3D::setNearClippingDistance(), and vpMbtDistanceLine::useScanLine.
Referenced by vpMbDepthNormalTracker::addFace().
| bool vpMbtFaceDepthNormal::computeDesiredFeatures | ( | const vpHomogeneousMatrix & | cMo, |
| unsigned int | width, | ||
| unsigned int | height, | ||
| const pcl::PointCloud< pcl::PointXYZ >::ConstPtr & | point_cloud, | ||
| vpColVector & | desired_features, | ||
| unsigned int | stepX, | ||
| unsigned int | stepY, | ||
| const vpImage< bool > * | mask = nullptr ) |
Definition at line 192 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpPolygon::getBoundingBox(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, and ROBUST_SVD_PLANE_ESTIMATION.
Referenced by vpMbDepthNormalTracker::segmentPointCloud(), vpMbDepthNormalTracker::segmentPointCloud(), and vpMbDepthNormalTracker::segmentPointCloud().
| bool vpMbtFaceDepthNormal::computeDesiredFeatures | ( | const vpHomogeneousMatrix & | cMo, |
| unsigned int | width, | ||
| unsigned int | height, | ||
| const std::vector< vpColVector > & | point_cloud, | ||
| vpColVector & | desired_features, | ||
| unsigned int | stepX, | ||
| unsigned int | stepY, | ||
| const vpImage< bool > * | mask = nullptr ) |
Definition at line 359 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpPolygon::getBoundingBox(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, and ROBUST_SVD_PLANE_ESTIMATION.
| bool vpMbtFaceDepthNormal::computeDesiredFeatures | ( | const vpHomogeneousMatrix & | cMo, |
| unsigned int | width, | ||
| unsigned int | height, | ||
| const vpMatrix & | point_cloud, | ||
| vpColVector & | desired_features, | ||
| unsigned int | stepX, | ||
| unsigned int | stepY, | ||
| const vpImage< bool > * | mask = nullptr ) |
Definition at line 520 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpPolygon::getBoundingBox(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, and ROBUST_SVD_PLANE_ESTIMATION.
|
protected |
Definition at line 681 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), m_pclPlaneEstimationMethod, m_pclPlaneEstimationRansacMaxIter, m_pclPlaneEstimationRansacThreshold, and vpColVector::resize().
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), and computeDesiredFeatures().
|
protected |
Definition at line 753 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), and estimateFeatures().
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), and computeDesiredFeatures().
|
protected |
Definition at line 781 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), estimatePlaneEquationSVD(), and vpColVector::resize().
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), and computeDesiredFeatures().
|
protected |
Definition at line 797 of file vpMbtFaceDepthNormal.cpp.
References m_faceDesiredCentroid, and m_faceDesiredNormal.
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), and computeDesiredFeatures().
| void vpMbtFaceDepthNormal::computeInteractionMatrix | ( | const vpHomogeneousMatrix & | cMo, |
| vpMatrix & | L, | ||
| vpColVector & | features ) |
Definition at line 1111 of file vpMbtFaceDepthNormal.cpp.
References m_planeCamera, m_planeObject, and vpColVector::resize().
| void vpMbtFaceDepthNormal::computeNormalVisibility | ( | double | nx, |
| double | ny, | ||
| double | nz, | ||
| const vpColVector & | centroid_point, | ||
| vpColVector & | face_normal ) |
Definition at line 1065 of file vpMbtFaceDepthNormal.cpp.
References vpColVector::dotProd(), vpColVector::normalize(), and vpColVector::resize().
Referenced by computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), displayFeature(), displayFeature(), and getFeaturesForDisplay().
| void vpMbtFaceDepthNormal::computeNormalVisibility | ( | double | nx, |
| double | ny, | ||
| double | nz, | ||
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | camera, | ||
| vpColVector & | correct_normal, | ||
| vpPoint & | centroid ) |
Definition at line 975 of file vpMbtFaceDepthNormal.cpp.
References computePolygonCentroid(), vpColVector::dotProd(), GEOMETRIC_CENTROID, vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), m_faceCentroidMethod, m_polygon, vpColVector::normalize(), vpForwardProjection::project(), vpColVector::resize(), vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
| void vpMbtFaceDepthNormal::computeNormalVisibility | ( | float | nx, |
| float | ny, | ||
| float | nz, | ||
| const pcl::PointXYZ & | centroid_point, | ||
| pcl::PointXYZ & | face_normal ) |
Definition at line 1040 of file vpMbtFaceDepthNormal.cpp.
References vpColVector::dotProd(), and vpColVector::normalize().
|
protected |
Definition at line 822 of file vpMbtFaceDepthNormal.cpp.
References vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
Referenced by computeNormalVisibility(), and planeIsInvalid().
|
protected |
Definition at line 872 of file vpMbtFaceDepthNormal.cpp.
References vpMeterPixelConversion::convertPoint(), vpPolygon3D::DOWN_CLIPPING, vpPolygon3D::FAR_CLIPPING, vpPolygon3D::LEFT_CLIPPING, m_cam, m_clippingFlag, m_hiddenFace, m_polygon, m_polygonLines, m_useScanLine, vpPolygon3D::NEAR_CLIPPING, vpPolygon3D::RIGHT_CLIPPING, and vpPolygon3D::UP_CLIPPING.
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), and computeDesiredFeatures().
| void vpMbtFaceDepthNormal::computeVisibility | ( | ) |
Definition at line 938 of file vpMbtFaceDepthNormal.cpp.
References m_isVisible, and m_polygon.
Referenced by vpMbDepthNormalTracker::computeVisibility().
| void vpMbtFaceDepthNormal::computeVisibilityDisplay | ( | ) |
Definition at line 940 of file vpMbtFaceDepthNormal.cpp.
References vpMbtDistanceLine::hiddenface, vpMbHiddenFaces< PolygonType >::isVisible(), vpMbtDistanceLine::Lindex_polygon, m_listOfFaceLines, and vpMbtDistanceLine::setVisible().
Referenced by getModelForDisplay().
| void vpMbtFaceDepthNormal::display | ( | const vpImage< unsigned char > & | I, |
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | cam, | ||
| const vpColor & | col, | ||
| unsigned int | thickness = 1, | ||
| bool | displayFullModel = false ) |
Definition at line 1156 of file vpMbtFaceDepthNormal.cpp.
References vpDisplay::displayLine(), and getModelForDisplay().
| void vpMbtFaceDepthNormal::display | ( | const vpImage< vpRGBa > & | I, |
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | cam, | ||
| const vpColor & | col, | ||
| unsigned int | thickness = 1, | ||
| bool | displayFullModel = false ) |
Definition at line 1170 of file vpMbtFaceDepthNormal.cpp.
References vpDisplay::displayLine(), and getModelForDisplay().
| void vpMbtFaceDepthNormal::displayFeature | ( | const vpImage< unsigned char > & | I, |
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | cam, | ||
| double | scale = 0.05, | ||
| unsigned int | thickness = 1 ) |
Definition at line 1184 of file vpMbtFaceDepthNormal.cpp.
References vpColor::blue, vpPoint::changeFrame(), vpCameraParameters::computeFov(), computeNormalVisibility(), vpMeterPixelConversion::convertPoint(), vpDisplay::displayArrow(), vpPoint::get_X(), vpPoint::get_x(), vpPoint::get_Y(), vpPoint::get_y(), vpPoint::get_Z(), m_faceActivated, m_faceDesiredCentroid, m_faceDesiredNormal, m_isTrackedDepthNormalFace, m_isVisible, m_planeCamera, m_planeObject, vpForwardProjection::project(), vpColor::red, vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
| void vpMbtFaceDepthNormal::displayFeature | ( | const vpImage< vpRGBa > & | I, |
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | cam, | ||
| double | scale = 0.05, | ||
| unsigned int | thickness = 1 ) |
Definition at line 1239 of file vpMbtFaceDepthNormal.cpp.
References vpColor::blue, vpPoint::changeFrame(), vpCameraParameters::computeFov(), computeNormalVisibility(), vpMeterPixelConversion::convertPoint(), vpDisplay::displayArrow(), vpPoint::get_X(), vpPoint::get_x(), vpPoint::get_Y(), vpPoint::get_y(), vpPoint::get_Z(), m_faceActivated, m_faceDesiredCentroid, m_faceDesiredNormal, m_isTrackedDepthNormalFace, m_isVisible, m_planeCamera, m_planeObject, vpForwardProjection::project(), vpColor::red, vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
|
protected |
Definition at line 1294 of file vpMbtFaceDepthNormal.cpp.
References vpCPUFeatures::checkSSE2(), m_planeCamera, m_planeObject, vpColVector::resize(), and vpMath::sqr().
Referenced by computeDesiredFeaturesRobustFeatures().
|
protected |
Definition at line 1611 of file vpMbtFaceDepthNormal.cpp.
References vpMatrix::getCol(), m_planeCamera, m_planeObject, vpColVector::resize(), vpArray2D< Type >::size(), vpMatrix::svd(), and vpMatrix::t().
Referenced by computeDesiredFeaturesSVD().
| std::vector< std::vector< double > > vpMbtFaceDepthNormal::getFeaturesForDisplay | ( | const vpHomogeneousMatrix & | cMo, |
| const vpCameraParameters & | cam, | ||
| double | scale = 0.05 ) |
Return a list of features parameters for display.
Definition at line 1746 of file vpMbtFaceDepthNormal.cpp.
References vpPoint::changeFrame(), computeNormalVisibility(), vpMeterPixelConversion::convertPoint(), vpImagePoint::get_i(), vpImagePoint::get_j(), vpPoint::get_X(), vpPoint::get_x(), vpPoint::get_Y(), vpPoint::get_y(), vpPoint::get_Z(), m_faceActivated, m_faceDesiredCentroid, m_faceDesiredNormal, m_isTrackedDepthNormalFace, m_isVisible, m_planeCamera, m_planeObject, vpForwardProjection::project(), vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
Referenced by vpMbDepthNormalTracker::getFeaturesForDisplayDepthNormal().
| std::vector< std::vector< double > > vpMbtFaceDepthNormal::getModelForDisplay | ( | unsigned int | width, |
| unsigned int | height, | ||
| const vpHomogeneousMatrix & | cMo, | ||
| const vpCameraParameters & | cam, | ||
| bool | displayFullModel = false ) |
Return a list of line parameters to display the primitive at a given pose and camera parameters.
| width | : Image width. |
| height | : Image height. |
| cMo | : Pose used to project the 3D model into the image. |
| cam | : The camera parameters. |
| displayFullModel | : If true, the line is displayed even if it is not |
Definition at line 1845 of file vpMbtFaceDepthNormal.cpp.
References computeVisibilityDisplay(), vpMbtDistanceLine::getModelForDisplay(), m_isTrackedDepthNormalFace, m_listOfFaceLines, and m_polygon.
Referenced by display(), display(), and vpMbDepthNormalTracker::getModelForDisplay().
|
inline |
Definition at line 180 of file vpMbtFaceDepthNormal.h.
References m_isTrackedDepthNormalFace.
Referenced by vpMbDepthNormalTracker::segmentPointCloud(), vpMbDepthNormalTracker::segmentPointCloud(), and vpMbDepthNormalTracker::segmentPointCloud().
|
inline |
Definition at line 182 of file vpMbtFaceDepthNormal.h.
References m_polygon.
Referenced by vpMbDepthNormalTracker::segmentPointCloud(), vpMbDepthNormalTracker::segmentPointCloud(), and vpMbDepthNormalTracker::segmentPointCloud().
| vpMbtFaceDepthNormal & vpMbtFaceDepthNormal::operator= | ( | const vpMbtFaceDepthNormal & | mbt_face | ) |
Copy operator.
| mbt_face | : MBT face to copy. |
Definition at line 80 of file vpMbtFaceDepthNormal.cpp.
References m_cam, m_clippingFlag, m_distFarClip, m_distNearClip, m_faceActivated, m_faceCentroidMethod, m_faceDesiredCentroid, m_faceDesiredNormal, m_featureEstimationMethod, m_hiddenFace, m_isTrackedDepthNormalFace, m_isVisible, m_listOfFaceLines, m_pclPlaneEstimationMethod, m_pclPlaneEstimationRansacMaxIter, m_pclPlaneEstimationRansacThreshold, m_planeCamera, m_planeObject, m_polygon, m_polygonLines, m_useScanLine, and vpMbtFaceDepthNormal().
| bool vpMbtFaceDepthNormal::planeIsInvalid | ( | const vpHomogeneousMatrix & | cMo, |
| double | maxAngle ) |
Returns true when the plane is nearly parallalel to the optical axis and close to the optical center. In this case, the interaction matrix related to this face may "explode" leading to a tracking failure.
Definition at line 1089 of file vpMbtFaceDepthNormal.cpp.
References vpPoint::changeFrame(), computePolygonCentroid(), vpColVector::frobeniusNorm(), vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), m_planeCamera, m_planeObject, m_polygon, and vpForwardProjection::project().
Check if two vpPoints are similar.
To be similar :
.
| P1 | : The first point to compare |
| P2 | : The second point to compare |
Definition at line 1876 of file vpMbtFaceDepthNormal.cpp.
References vpPoint::get_oX(), vpPoint::get_oY(), and vpPoint::get_oZ().
Referenced by addLine().
| void vpMbtFaceDepthNormal::setCameraParameters | ( | const vpCameraParameters & | camera | ) |
Definition at line 1889 of file vpMbtFaceDepthNormal.cpp.
References m_cam, and m_listOfFaceLines.
|
inline |
Definition at line 186 of file vpMbtFaceDepthNormal.h.
References m_faceCentroidMethod.
|
inline |
Definition at line 188 of file vpMbtFaceDepthNormal.h.
References m_featureEstimationMethod.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 190 of file vpMbtFaceDepthNormal.h.
References m_pclPlaneEstimationMethod.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 192 of file vpMbtFaceDepthNormal.h.
References m_pclPlaneEstimationRansacMaxIter.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 194 of file vpMbtFaceDepthNormal.h.
References m_pclPlaneEstimationRansacThreshold.
Referenced by vpMbDepthNormalTracker::addFace().
| void vpMbtFaceDepthNormal::setScanLineVisibilityTest | ( | bool | v | ) |
Definition at line 1899 of file vpMbtFaceDepthNormal.cpp.
References m_listOfFaceLines, and m_useScanLine.
|
inline |
Definition at line 201 of file vpMbtFaceDepthNormal.h.
References m_isTrackedDepthNormalFace.
Referenced by vpMbDepthNormalTracker::setUseDepthNormalTracking().
| vpCameraParameters vpMbtFaceDepthNormal::m_cam |
Camera intrinsic parameters.
Definition at line 93 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), computeROI(), operator=(), setCameraParameters(), and vpMbtFaceDepthNormal().
| unsigned int vpMbtFaceDepthNormal::m_clippingFlag |
Flags specifying which clipping to used.
Definition at line 95 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), computeROI(), operator=(), and vpMbtFaceDepthNormal().
| double vpMbtFaceDepthNormal::m_distFarClip |
Distance for near clipping.
Definition at line 97 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), operator=(), and vpMbtFaceDepthNormal().
| double vpMbtFaceDepthNormal::m_distNearClip |
Distance for near clipping.
Definition at line 99 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
True if the face should be considered by the tracker.
Definition at line 280 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), displayFeature(), displayFeature(), getFeaturesForDisplay(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
Method to compute the face centroid for the current features.
Definition at line 282 of file vpMbtFaceDepthNormal.h.
Referenced by computeNormalVisibility(), operator=(), setFaceCentroidMethod(), and vpMbtFaceDepthNormal().
|
protected |
Desired centroid (computed from the sensor).
Definition at line 284 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredNormalAndCentroid(), displayFeature(), displayFeature(), getFeaturesForDisplay(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
Face (normalized) normal (computed from the sensor).
Definition at line 286 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredNormalAndCentroid(), displayFeature(), displayFeature(), getFeaturesForDisplay(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
Method to estimate the desired features.
Definition at line 288 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), operator=(), setFeatureEstimationMethod(), and vpMbtFaceDepthNormal().
| vpMbHiddenFaces<vpMbtPolygon>* vpMbtFaceDepthNormal::m_hiddenFace |
Pointer to the list of faces.
Definition at line 101 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), computeROI(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
Definition at line 290 of file vpMbtFaceDepthNormal.h.
Referenced by displayFeature(), displayFeature(), getFeaturesForDisplay(), getModelForDisplay(), isTracked(), operator=(), setTracked(), and vpMbtFaceDepthNormal().
|
protected |
Definition at line 292 of file vpMbtFaceDepthNormal.h.
Referenced by computeVisibility(), displayFeature(), displayFeature(), getFeaturesForDisplay(), operator=(), and vpMbtFaceDepthNormal().
|
protected |
Definition at line 294 of file vpMbtFaceDepthNormal.h.
Referenced by addLine(), computeVisibilityDisplay(), getModelForDisplay(), operator=(), setCameraParameters(), setScanLineVisibilityTest(), vpMbtFaceDepthNormal(), and ~vpMbtFaceDepthNormal().
|
protected |
PCL plane estimation method.
Definition at line 299 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL(), operator=(), setPclPlaneEstimationMethod(), and vpMbtFaceDepthNormal().
|
protected |
PCL pane estimation max number of iterations.
Definition at line 301 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL(), operator=(), setPclPlaneEstimationRansacMaxIter(), and vpMbtFaceDepthNormal().
|
protected |
PCL plane estimation RANSAC threshold.
Definition at line 303 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL(), operator=(), setPclPlaneEstimationRansacThreshold(), and vpMbtFaceDepthNormal().
|
protected |
Plane equation described in the camera frame and updated with the current pose
Definition at line 297 of file vpMbtFaceDepthNormal.h.
Referenced by computeInteractionMatrix(), displayFeature(), displayFeature(), estimateFeatures(), estimatePlaneEquationSVD(), getFeaturesForDisplay(), operator=(), planeIsInvalid(), and vpMbtFaceDepthNormal().
| vpPlane vpMbtFaceDepthNormal::m_planeObject |
Plane equation described in the object frame.
Definition at line 103 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeInteractionMatrix(), displayFeature(), displayFeature(), estimateFeatures(), estimatePlaneEquationSVD(), getFeaturesForDisplay(), operator=(), planeIsInvalid(), and vpMbtFaceDepthNormal().
| vpMbtPolygon* vpMbtFaceDepthNormal::m_polygon |
Polygon defining the face.
Definition at line 105 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), computeNormalVisibility(), computeROI(), computeVisibility(), getModelForDisplay(), isVisible(), operator=(), planeIsInvalid(), vpMbDepthNormalTracker::setUseDepthNormalTracking(), and vpMbtFaceDepthNormal().
|
protected |
Definition at line 305 of file vpMbtFaceDepthNormal.h.
Referenced by addLine(), computeROI(), operator=(), and vpMbtFaceDepthNormal().
| bool vpMbtFaceDepthNormal::m_useScanLine |
Scan line visibility.
Definition at line 107 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), computeDesiredFeatures(), computeDesiredFeatures(), computeDesiredFeatures(), computeROI(), operator=(), setScanLineVisibilityTest(), and vpMbtFaceDepthNormal().