40 #include <visp3/core/vpConfig.h>
46 #include <visp3/detection/vpDetectorDataMatrixCode.h>
62 bool detected =
false;
74 dec = dmtxDecodeCreate(img, 1);
79 reg = dmtxRegionFindNext(dec, 0);
82 msg = dmtxDecodeMatrixRegion(dec, reg, DmtxUndefined);
85 std::vector<vpImagePoint> polygon;
87 DmtxVector2 p00, p10, p11, p01;
89 p00.X = p00.Y = p10.Y = p01.X = 0.0;
90 p10.X = p01.Y = p11.X = p11.Y = 1.0;
91 dmtxMatrix3VMultiplyBy(&p00, reg->fit2raw);
92 dmtxMatrix3VMultiplyBy(&p10, reg->fit2raw);
93 dmtxMatrix3VMultiplyBy(&p11, reg->fit2raw);
94 dmtxMatrix3VMultiplyBy(&p01, reg->fit2raw);
103 m_message.push_back( (
const char *)msg->output);
110 dmtxMessageDestroy(&msg);
115 dmtxRegionDestroy(®);
119 dmtxDecodeDestroy(&dec);
120 dmtxImageDestroy(&img);
124 #elif !defined(VISP_BUILD_SHARED_LIBS)
126 void dummy_vpDetectorDataMatrixCode() {};
unsigned int getWidth() const
Type * bitmap
points toward the bitmap
size_t m_nb_objects
Number of detected objects.
std::vector< std::string > m_message
Message attached to each object.
vpDetectorDataMatrixCode()
bool detect(const vpImage< unsigned char > &I)
unsigned int getHeight() const
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
std::vector< std::vector< vpImagePoint > > m_polygon
For each object, defines the polygon that contains the object.