Visual Servoing Platform
version 3.2.0 under development (2019-01-22)
|
#include <visp3/detection/vpDetectorDataMatrixCode.h>
Public Member Functions | |
vpDetectorDataMatrixCode () | |
virtual | ~vpDetectorDataMatrixCode () |
bool | detect (const vpImage< unsigned char > &I) |
Inherited functionalities from vpDetectorBase | |
vpRect | getBBox (size_t i) const |
vpImagePoint | getCog (size_t i) const |
std::vector< std::string > & | getMessage () |
std::string & | getMessage (size_t i) |
size_t | getNbObjects () const |
std::vector< std::vector< vpImagePoint > > & | getPolygon () |
std::vector< vpImagePoint > & | getPolygon (size_t i) |
Protected Attributes | |
std::vector< std::vector< vpImagePoint > > | m_polygon |
std::vector< std::string > | m_message |
size_t | m_nb_objects |
Base class for bar code detector. This class is a wrapper over libdmtx available from http://www.libdmtx.org. Installation instructions are provided here https://visp.inria.fr/3rd_dmtx.
The detect() function allows to detect multiple QR codes in an image. Once detected, for each QR code it is possible to retrieve the location of the corners using getPolygon(), the encoded message using getMessage(), the bounding box using getBBox() and the center of gravity using getCog().
The following sample code shows how to use this class to detect QR codes in an image.
The previous example may produce results like:
Other examples are also provided in tutorial-barcode-detector.cpp and tutorial-barcode-detector-live.cpp
Definition at line 113 of file vpDetectorDataMatrixCode.h.
vpDetectorDataMatrixCode::vpDetectorDataMatrixCode | ( | ) |
Default constructor that does nothing.
Definition at line 52 of file vpDetectorDataMatrixCode.cpp.
|
inlinevirtual |
Definition at line 117 of file vpDetectorDataMatrixCode.h.
References vpDetectorBase::detect().
|
virtual |
Detect datamatrix bar codes in the image. Return true if a bar code is detected, false otherwise.
I | : Input image. |
Implements vpDetectorBase.
Definition at line 60 of file vpDetectorDataMatrixCode.cpp.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpDetectorBase::m_message, vpDetectorBase::m_nb_objects, and vpDetectorBase::m_polygon.
|
inherited |
Return the bounding box of the ith object.
Definition at line 87 of file vpDetectorBase.cpp.
References vpDetectorBase::m_polygon.
|
inherited |
Return the center of gravity location of the ith object.
Definition at line 74 of file vpDetectorBase.cpp.
References vpDetectorBase::m_polygon.
|
inlineinherited |
Returns the contained message of the ith object if there is one.
Definition at line 107 of file vpDetectorBase.h.
|
inherited |
Returns the contained message of the ith object if there is one.
Definition at line 62 of file vpDetectorBase.cpp.
References vpException::badValue, vpDetectorBase::m_message, and vpDetectorBase::m_polygon.
|
inlineinherited |
Return the number of objects that are detected.
Definition at line 117 of file vpDetectorBase.h.
|
inlineinherited |
Returns object container box as a vector of points.
Definition at line 122 of file vpDetectorBase.h.
|
inherited |
Returns ith object container box as a vector of points.
Definition at line 50 of file vpDetectorBase.cpp.
References vpException::badValue, and vpDetectorBase::m_polygon.
|
protectedinherited |
Message attached to each object.
Definition at line 71 of file vpDetectorBase.h.
Referenced by vpDetectorDNN::detect(), vpDetectorFace::detect(), detect(), vpDetectorQRCode::detect(), vpDetectorAprilTag::detect(), and vpDetectorBase::getMessage().
|
protectedinherited |
Number of detected objects.
Definition at line 72 of file vpDetectorBase.h.
Referenced by vpDetectorDNN::detect(), vpDetectorFace::detect(), detect(), vpDetectorQRCode::detect(), and vpDetectorAprilTag::detect().
|
protectedinherited |
For each object, defines the polygon that contains the object.
Definition at line 67 of file vpDetectorBase.h.
Referenced by vpDetectorDNN::detect(), vpDetectorFace::detect(), detect(), vpDetectorQRCode::detect(), vpDetectorAprilTag::detect(), vpDetectorBase::getBBox(), vpDetectorBase::getCog(), vpDetectorBase::getMessage(), and vpDetectorBase::getPolygon().