2#include <visp3/gui/vpDisplayOpenCV.h>
3#include <visp3/io/vpImageIo.h>
4#include <visp3/io/vpVideoReader.h>
6#include <visp3/vision/vpKeyPoint.h>
12#if defined(HAVE_OPENCV_HIGHGUI) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_FEATURES2D)
21 const std::string detectorName =
"ORB";
22 const std::string extractorName =
"ORB";
24 const std::string matcherName =
"BruteForce-Hamming";
26 vpKeyPoint keypoint(detectorName, extractorName, matcherName, filterType);
27 std::cout <<
"Reference keypoints=" << keypoint.buildReference(I) << std::endl;
37 vpDisplayOpenCV d(Idisp, 0, 0,
"Matching keypoints with ORB keypoints");
42 while (!reader.
end()) {
55 unsigned int nbMatch = keypoint.matchPoint(I);
58 std::cout <<
"Matches=" << nbMatch << std::endl;
62 for (
unsigned int i = 0; i < nbMatch; i++) {
63 keypoint.getMatchedPoints(i, iPref, iPcur);
static const vpColor white
static const vpColor green
The vpDisplayOpenCV allows to display image using the OpenCV library. Thus to enable this class OpenC...
static bool getClick(const vpImage< unsigned char > &I, bool blocking=true)
static void display(const vpImage< unsigned char > &I)
static void displayLine(const vpImage< unsigned char > &I, const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color, unsigned int thickness=1, bool segment=true)
static void flush(const vpImage< unsigned char > &I)
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition of the vpImage class member functions.
unsigned int getWidth() const
void resize(unsigned int h, unsigned int w)
resize the image : Image initialization
void insert(const vpImage< Type > &src, const vpImagePoint &topLeft)
unsigned int getHeight() const
Class that allows keypoints detection (and descriptors extraction) and matching thanks to OpenCV libr...
Class that enables to manipulate easily a video file or a sequence of images. As it inherits from the...
void acquire(vpImage< vpRGBa > &I)
void setFileName(const std::string &filename)