38 #ifndef VPPLANAROBJECTDETECTOR_H_
39 #define VPPLANAROBJECTDETECTOR_H_
41 #include <visp3/core/vpConfig.h>
43 #if (VISP_HAVE_OPENCV_VERSION >= 0x020000) && (VISP_HAVE_OPENCV_VERSION < 0x030000) // Require opencv >= 2.0.0 and < 3.0.0
45 #if (VISP_HAVE_OPENCV_VERSION >= 0x020101) // Require opencv >= 2.1.1
46 # include <opencv2/imgproc/imgproc.hpp>
47 # include <opencv2/features2d/features2d.hpp>
48 # include <opencv2/calib3d/calib3d.hpp>
49 #elif (VISP_HAVE_OPENCV_VERSION >= 0x020000) // Require opencv >= 2.0.0
54 #include <visp3/core/vpImagePoint.h>
55 #include <visp3/core/vpImage.h>
56 #include <visp3/core/vpRect.h>
57 #include <visp3/core/vpImagePoint.h>
58 #include <visp3/core/vpPoint.h>
59 #include <visp3/core/vpHomogeneousMatrix.h>
60 #include <visp3/core/vpCameraParameters.h>
61 #include <visp3/vision/vpHomography.h>
62 #include <visp3/vision/vpFernClassifier.h>
184 unsigned int height,
unsigned int width);
191 const vpImagePoint &iP,
const unsigned int height,
const unsigned int width);
194 void recordDetector(
const std::string& objectName,
const std::string& dataFile);
195 void load(
const std::string& dataFilename,
const std::string& objName);
209 std::vector<vpImagePoint> getDetectedCorners()
const;
231 inline unsigned int getNbRefPoints() {
return (
unsigned int)currentImagePoints.size() ;}
241 void getReferencePoint(
const unsigned int _i,
vpImagePoint& _imPoint);
272 void computeRoi(
vpImagePoint* ip,
const unsigned int nbpt);
273 void initialiseRefCorners(
const cv::Rect& _modelROI);
unsigned int getNbRefPoints()
vpFernClassifier & getFernClassifier()
void getHomography(vpHomography &_H) const
std::vector< cv::Point2f > ref_corners
The corners in the reference image.
cv::Rect modelROI
The ROI for the reference image.
cv::Mat H
Computed homography in the OpenCV format.
void setMinNbPointValidation(const unsigned int _min)
Implementation of an homography and operations on homographies.
std::vector< cv::Point2f > dst_corners
The estimated new coordinates of the corners (reprojected using the homography).
vpFernClassifier fern
Fern Classifier used to match the points between a reference image and the current image...
std::vector< vpImagePoint > currentImagePoints
Vector of the image point in the current image that match after the deletion of the outliers with the...
vpHomography homography
Computed homography in the ViSP format.
unsigned int getMinNbPointValidation() const
bool isCorrect
Flag to indicate wether the last computed homography is correct or not.
unsigned int minNbMatching
Minimal number of point to after the ransac needed to suppose that the homography has been correctly ...
Defines a rectangle in the plane.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Class used to detect a planar surface.
std::vector< vpImagePoint > refImagePoints
Vector of the image point in the reference image that match after the deletion of the outliers with t...
Class that implements the Fern classifier and the YAPE detector thanks to the OpenCV library...