36 #include <visp3/core/vpConfig.h>
38 #if defined(VISP_HAVE_NLOHMANN_JSON) && defined(VISP_HAVE_THREADS)
40 #include <visp3/dnn_tracker/vpMegaPoseTracker.h>
47 std::vector<vpRect> bbs = { bb };
48 m_poseEstimate = m_megapose->estimatePoses(I, { m_objectLabel },
nullptr, 0.0, &bbs,
nullptr)[0];
50 return m_poseEstimate;
56 std::vector<vpHomogeneousMatrix> poses = { cTo };
57 m_poseEstimate = m_megapose->estimatePoses(I, { m_objectLabel },
nullptr, 0.0,
nullptr, &poses)[0];
59 return m_poseEstimate;
69 std::vector<vpHomogeneousMatrix> poses = { m_poseEstimate.
cTo };
70 m_poseEstimate = m_megapose->estimatePoses(I, { m_objectLabel },
nullptr, 0.0,
nullptr, &poses, m_refinerIterations)[0];
71 return m_poseEstimate;
77 m_poseEstimate.
cTo = cTo;
80 #elif !defined(VISP_BUILD_SHARED_LIBS)
82 void dummy_vpMegaPoseTracker() { };
error that can be emitted by ViSP classes.
@ notInitialized
Used to indicate that a parameter is not initialized.
Implementation of an homogeneous matrix and operations on such kind of matrices.
std::future< vpMegaPoseEstimate > track(const vpImage< vpRGBa > &I)
Track the object in the image. Requires the tracker to be initialized by calling init.
std::future< vpMegaPoseEstimate > init(const vpImage< vpRGBa > &I, const vpRect &bb)
Initialize tracking. Performs a full object pose estimation with megapose.
void updatePose(const vpHomogeneousMatrix &cTo)
Update the current pose estimate with a new one, provided by an external source. No operation (such a...
Defines a rectangle in the plane.