Visual Servoing Platform
version 3.6.1 under development (2024-11-21)
|
#include <visp3/mbt/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 () | |
virtual | ~vpMbtFaceDepthNormal () |
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 |
Definition at line 54 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 60 of file vpMbtFaceDepthNormal.h.
How to estimate the normal of a face using depth feature.
Definition at line 69 of file vpMbtFaceDepthNormal.h.
BEGIN_VISP_NAMESPACE vpMbtFaceDepthNormal::vpMbtFaceDepthNormal | ( | ) |
Definition at line 59 of file vpMbtFaceDepthNormal.cpp.
|
virtual |
Definition at line 69 of file vpMbtFaceDepthNormal.cpp.
References m_listOfFaceLines.
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 90 of file vpMbtFaceDepthNormal.cpp.
References 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, vpMbtDistanceLine::p1, vpMbtDistanceLine::p2, samePoint(), vpMbtDistanceLine::setCameraParameters(), vpPolygon3D::setClipping(), vpPolygon3D::setFarClippingDistance(), vpMbtDistanceLine::setIndex(), vpMbtDistanceLine::setName(), 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 151 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpRect::getBottom(), vpPolygon::getBoundingBox(), vpRect::getHeight(), vpMbtPolygon::getIndex(), vpRect::getLeft(), vpMbHiddenFaces< PolygonType >::getMbScanLineRenderer(), vpRect::getRight(), vpRect::getTop(), vpRect::getWidth(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, ROBUST_SVD_PLANE_ESTIMATION, vpRect::setBottom(), vpRect::setLeft(), vpRect::setRight(), and vpRect::setTop().
Referenced by 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 318 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpRect::getBottom(), vpPolygon::getBoundingBox(), vpRect::getHeight(), vpMbtPolygon::getIndex(), vpRect::getLeft(), vpMbHiddenFaces< PolygonType >::getMbScanLineRenderer(), vpRect::getRight(), vpRect::getTop(), vpRect::getWidth(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, ROBUST_SVD_PLANE_ESTIMATION, vpRect::setBottom(), vpRect::setLeft(), vpRect::setRight(), and vpRect::setTop().
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 479 of file vpMbtFaceDepthNormal.cpp.
References vpException::badValue, vpCPUFeatures::checkSSE2(), computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), computeDesiredNormalAndCentroid(), computeROI(), vpPixelMeterConversion::convertPoint(), vpRect::getBottom(), vpPolygon::getBoundingBox(), vpRect::getHeight(), vpMbtPolygon::getIndex(), vpRect::getLeft(), vpMbHiddenFaces< PolygonType >::getMbScanLineRenderer(), vpRect::getRight(), vpRect::getTop(), vpRect::getWidth(), vpMeTracker::inRoiMask(), vpPolygon::isInside(), m_cam, m_faceActivated, m_featureEstimationMethod, m_hiddenFace, m_polygon, m_useScanLine, PCL_PLANE_ESTIMATION, ROBUST_FEATURE_ESTIMATION, ROBUST_SVD_PLANE_ESTIMATION, vpRect::setBottom(), vpRect::setLeft(), vpRect::setRight(), and vpRect::setTop().
|
protected |
Definition at line 640 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), m_pclPlaneEstimationMethod, m_pclPlaneEstimationRansacMaxIter, m_pclPlaneEstimationRansacThreshold, and vpColVector::resize().
Referenced by computeDesiredFeatures().
|
protected |
Definition at line 709 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), and estimateFeatures().
Referenced by computeDesiredFeatures().
|
protected |
Definition at line 737 of file vpMbtFaceDepthNormal.cpp.
References computeNormalVisibility(), estimatePlaneEquationSVD(), and vpColVector::resize().
Referenced by computeDesiredFeatures().
|
protected |
Definition at line 753 of file vpMbtFaceDepthNormal.cpp.
References vpHomogeneousMatrix::inverse(), m_faceDesiredCentroid, m_faceDesiredNormal, and vpPoint::setWorldCoordinates().
Referenced by computeDesiredFeatures().
void vpMbtFaceDepthNormal::computeInteractionMatrix | ( | const vpHomogeneousMatrix & | cMo, |
vpMatrix & | L, | ||
vpColVector & | features | ||
) |
Definition at line 1067 of file vpMbtFaceDepthNormal.cpp.
References vpPlane::changeFrame(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), vpPlane::getD(), 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 1021 of file vpMbtFaceDepthNormal.cpp.
References vpColVector::dotProd(), vpColVector::normalize(), and vpColVector::resize().
Referenced by computeDesiredFeaturesPCL(), computeDesiredFeaturesRobustFeatures(), computeDesiredFeaturesSVD(), 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 931 of file vpMbtFaceDepthNormal.cpp.
References computePolygonCentroid(), vpColVector::dotProd(), GEOMETRIC_CENTROID, vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), vpPolygon3D::getPolygonClipped(), vpPolygon3D::getRoiClipped(), m_faceCentroidMethod, m_polygon, vpColVector::normalize(), vpForwardProjection::project(), vpColVector::resize(), vpPoint::set_X(), vpPoint::set_Y(), vpPoint::set_Z(), and vpArray2D< Type >::size().
void vpMbtFaceDepthNormal::computeNormalVisibility | ( | float | nx, |
float | ny, | ||
float | nz, | ||
const pcl::PointXYZ & | centroid_point, | ||
pcl::PointXYZ & | face_normal | ||
) |
Definition at line 996 of file vpMbtFaceDepthNormal.cpp.
References vpColVector::dotProd(), and vpColVector::normalize().
|
protected |
Definition at line 778 of file vpMbtFaceDepthNormal.cpp.
References vpPoint::get_X(), vpPoint::set_X(), vpPoint::set_Y(), and vpPoint::set_Z().
Referenced by computeNormalVisibility(), and planeIsInvalid().
|
protected |
Definition at line 828 of file vpMbtFaceDepthNormal.cpp.
References vpCameraParameters::computeFov(), vpMbHiddenFaces< PolygonType >::computeScanLineQuery(), vpMeterPixelConversion::convertPoint(), vpPolygon3D::DOWN_CLIPPING, vpPolygon3D::FAR_CLIPPING, vpPolygon3D::getRoiClipped(), 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().
void vpMbtFaceDepthNormal::computeVisibility | ( | ) |
Definition at line 894 of file vpMbtFaceDepthNormal.cpp.
References vpMbtPolygon::isVisible(), m_isVisible, and m_polygon.
Referenced by vpMbDepthNormalTracker::computeVisibility().
void vpMbtFaceDepthNormal::computeVisibilityDisplay | ( | ) |
Definition at line 896 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 1112 of file vpMbtFaceDepthNormal.cpp.
References vpDisplay::displayLine(), vpImage< Type >::getHeight(), getModelForDisplay(), and vpImage< Type >::getWidth().
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 1126 of file vpMbtFaceDepthNormal.cpp.
References vpDisplay::displayLine(), vpImage< Type >::getHeight(), getModelForDisplay(), and vpImage< Type >::getWidth().
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 1140 of file vpMbtFaceDepthNormal.cpp.
References vpColor::blue, vpPlane::changeFrame(), vpPoint::changeFrame(), vpCameraParameters::computeFov(), computeNormalVisibility(), vpMeterPixelConversion::convertPoint(), vpDisplay::displayArrow(), vpPoint::get_X(), vpPoint::get_x(), vpPoint::get_Y(), vpPoint::get_y(), vpPoint::get_Z(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), 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 1195 of file vpMbtFaceDepthNormal.cpp.
References vpColor::blue, vpPlane::changeFrame(), vpPoint::changeFrame(), vpCameraParameters::computeFov(), computeNormalVisibility(), vpMeterPixelConversion::convertPoint(), vpDisplay::displayArrow(), vpPoint::get_X(), vpPoint::get_x(), vpPoint::get_Y(), vpPoint::get_y(), vpPoint::get_Z(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), 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 1250 of file vpMbtFaceDepthNormal.cpp.
References vpPlane::changeFrame(), vpCPUFeatures::checkSSE2(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), vpPlane::getD(), m_planeCamera, m_planeObject, vpColVector::resize(), and vpMath::sqr().
Referenced by computeDesiredFeaturesRobustFeatures().
|
protected |
Definition at line 1567 of file vpMbtFaceDepthNormal.cpp.
References vpPlane::changeFrame(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), vpMatrix::getCol(), vpPlane::getD(), 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.
<feature id (here 2 for depth normal)>
, <centroid.i()>
, <centroid.j()>
, <extremity.i()>
, extremity.j()
Definition at line 1702 of file vpMbtFaceDepthNormal.cpp.
References vpPlane::changeFrame(), 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(), vpPlane::getA(), vpPlane::getB(), vpPlane::getC(), 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.
<primitive id (here 0 for line)>
, <pt_start.i()>
, <pt_start.j()>
, <pt_end.i()>
, <pt_end.j()>
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 1801 of file vpMbtFaceDepthNormal.cpp.
References computeVisibilityDisplay(), vpMbtDistanceLine::getModelForDisplay(), vpMbtPolygon::isVisible(), m_isTrackedDepthNormalFace, m_listOfFaceLines, and m_polygon.
Referenced by display(), and vpMbDepthNormalTracker::getModelForDisplay().
|
inline |
Definition at line 164 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::segmentPointCloud().
|
inline |
Definition at line 166 of file vpMbtFaceDepthNormal.h.
References vpMbtPolygon::isvisible.
Referenced by vpMbDepthNormalTracker::segmentPointCloud().
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 1045 of file vpMbtFaceDepthNormal.cpp.
References vpPlane::changeFrame(), vpPoint::changeFrame(), computePolygonCentroid(), vpColVector::frobeniusNorm(), vpPoint::get_X(), vpPoint::get_Y(), vpPoint::get_Z(), vpPlane::getD(), vpPolygon3D::getPolygonClipped(), vpHomogeneousMatrix::getTranslationVector(), 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 1832 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 1845 of file vpMbtFaceDepthNormal.cpp.
References m_cam, and m_listOfFaceLines.
|
inline |
Definition at line 170 of file vpMbtFaceDepthNormal.h.
|
inline |
Definition at line 172 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 174 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 176 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace().
|
inline |
Definition at line 178 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace().
void vpMbtFaceDepthNormal::setScanLineVisibilityTest | ( | bool | v | ) |
Definition at line 1855 of file vpMbtFaceDepthNormal.cpp.
References m_listOfFaceLines, and m_useScanLine.
|
inline |
Definition at line 185 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::setUseDepthNormalTracking().
vpCameraParameters vpMbtFaceDepthNormal::m_cam |
Camera intrinsic parameters.
Definition at line 79 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), computeDesiredFeatures(), computeROI(), and setCameraParameters().
unsigned int vpMbtFaceDepthNormal::m_clippingFlag |
Flags specifying which clipping to used.
Definition at line 81 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), and computeROI().
double vpMbtFaceDepthNormal::m_distFarClip |
Distance for near clipping.
Definition at line 83 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), and addLine().
double vpMbtFaceDepthNormal::m_distNearClip |
Distance for near clipping.
Definition at line 85 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), and addLine().
|
protected |
True if the face should be considered by the tracker.
Definition at line 264 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeatures(), displayFeature(), and getFeaturesForDisplay().
|
protected |
Method to compute the face centroid for the current features.
Definition at line 266 of file vpMbtFaceDepthNormal.h.
Referenced by computeNormalVisibility().
|
protected |
Desired centroid (computed from the sensor)
Definition at line 268 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredNormalAndCentroid(), displayFeature(), and getFeaturesForDisplay().
|
protected |
Face (normalized) normal (computed from the sensor)
Definition at line 270 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredNormalAndCentroid(), displayFeature(), and getFeaturesForDisplay().
|
protected |
Method to estimate the desired features.
Definition at line 272 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeatures().
vpMbHiddenFaces<vpMbtPolygon>* vpMbtFaceDepthNormal::m_hiddenFace |
Pointer to the list of faces.
Definition at line 87 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeDesiredFeatures(), and computeROI().
|
protected |
Definition at line 274 of file vpMbtFaceDepthNormal.h.
Referenced by displayFeature(), getFeaturesForDisplay(), and getModelForDisplay().
|
protected |
Definition at line 276 of file vpMbtFaceDepthNormal.h.
Referenced by computeVisibility(), displayFeature(), and getFeaturesForDisplay().
|
protected |
Definition at line 278 of file vpMbtFaceDepthNormal.h.
Referenced by addLine(), computeVisibilityDisplay(), getModelForDisplay(), setCameraParameters(), setScanLineVisibilityTest(), and ~vpMbtFaceDepthNormal().
|
protected |
PCL plane estimation method.
Definition at line 283 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL().
|
protected |
PCL pane estimation max number of iterations.
Definition at line 285 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL().
|
protected |
PCL plane estimation RANSAC threshold.
Definition at line 287 of file vpMbtFaceDepthNormal.h.
Referenced by computeDesiredFeaturesPCL().
|
protected |
Plane equation described in the camera frame and updated with the current pose
Definition at line 281 of file vpMbtFaceDepthNormal.h.
Referenced by computeInteractionMatrix(), displayFeature(), estimateFeatures(), estimatePlaneEquationSVD(), getFeaturesForDisplay(), and planeIsInvalid().
vpPlane vpMbtFaceDepthNormal::m_planeObject |
Plane equation described in the object frame.
Definition at line 89 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeInteractionMatrix(), displayFeature(), estimateFeatures(), estimatePlaneEquationSVD(), getFeaturesForDisplay(), and planeIsInvalid().
vpMbtPolygon* vpMbtFaceDepthNormal::m_polygon |
Polygon defining the face.
Definition at line 91 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), computeDesiredFeatures(), computeNormalVisibility(), computeROI(), computeVisibility(), getModelForDisplay(), planeIsInvalid(), and vpMbDepthNormalTracker::setUseDepthNormalTracking().
|
protected |
Definition at line 289 of file vpMbtFaceDepthNormal.h.
Referenced by addLine(), and computeROI().
bool vpMbtFaceDepthNormal::m_useScanLine |
Scan line visibility.
Definition at line 93 of file vpMbtFaceDepthNormal.h.
Referenced by vpMbDepthNormalTracker::addFace(), addLine(), computeDesiredFeatures(), computeROI(), and setScanLineVisibilityTest().