47 unsigned int initWidth = 400,
unsigned int initHeight = 400);
51 const std::string& windowCaption,
unsigned int initWidth = 400,
52 unsigned int initHeight = 400);
74 const bool& showNumbers =
false);
78 const std::vector<float>&
y,
80 const bool& showNumbers =
false);
88 template <
class FEATURELIST>
92 const bool& showIDs =
false)
106 template <
class FEATURELIST>
135 template <
class MATCHEDLIST>
138 const MATCHEDLIST& mList,
140 bool showNumbers =
false)
152 for (
typename MATCHEDLIST::const_iterator i = mList.begin();
153 i != mList.end(); ++i, ++nf)
155 const auto x1 =
round(i->first.keypoint.pt.x);
156 const auto y1 =
round(i->first.keypoint.pt.y);
157 const auto x2 =
round(i->second.keypoint.pt.x);
158 const auto y2 =
round(i->second.keypoint.pt.y);
160 imgColor.drawCircle(x1, y1, 4,
color);
161 imgColor.drawCircle(x2 +
w, y2, 4,
color);
167 buf, 15,
"%d[%u]", nf, (
unsigned int)i->first.keypoint.ID);
168 imgColor.textOut(x1 - 10, y1, buf,
color);
170 buf, 15,
"%d[%u]", nf, (
unsigned int)i->second.keypoint.ID);
171 imgColor.textOut(x2 +
w + 10, y2, buf,
color);
184 template <
class FEATURELIST>
187 const FEATURELIST& leftList,
const FEATURELIST& rightList,
195 ASSERT_(leftList.size() == rightList.size());
196 imgColor.joinImagesHorz(img1, img2);
200 for (
typename FEATURELIST::const_iterator iL = leftList.begin(),
201 iR = rightList.begin();
202 iL != leftList.end(); ++iL, ++iR)
void showImageAndPoints(const mrpt::img::CImage &img, const FEATURELIST &list, const mrpt::img::TColor &color=mrpt::img::TColor::red(), const bool &showIDs=false)
Show a given color or grayscale image on the window and print a set of points on it.
void line(int x0, int y0, int x1, int y1, const mrpt::img::TColor color, unsigned int width=1, TPenStyle penStyle=psSolid) override
Draws a line.
bool m_enableCursorCoordinates
Enables or disables the visualization of cursor coordinates on the window caption.
Template for column vectors of dynamic size, compatible with Eigen.
void setCursorCross(bool cursorIsCross) override
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true) ...
void showImagesAndMatchedPoints(const mrpt::img::CImage &img1, const mrpt::img::CImage &img2, const MATCHEDLIST &mList, const mrpt::img::TColor &color=mrpt::img::TColor::red(), bool showNumbers=false)
Show a pair of given color or grayscale images (put together) on the window and print a set of matche...
~CDisplayWindow() override
Destructor.
size_t getHeight() const override
Returns the height of the image in pixels.
void enableCursorCoordinatesVisualization(bool enable)
Enables or disables the visualization of cursor coordinates on the window caption (default = enabled)...
void joinImagesHorz(const CImage &im1, const CImage &im2)
Joins two images side-by-side horizontally.
GLubyte GLubyte GLubyte GLubyte w
void setWindowTitle(const std::string &str) override
Changes the window title text.
void plot(const mrpt::math::CVectorFloat &x, const mrpt::math::CVectorFloat &y)
Plots a graph in MATLAB-like style.
CImage colorImage() const
Returns a color (RGB) version of the grayscale image, or a shallow copy of itself if it is already a ...
#define ASSERT_(f)
Defines an assertion mechanism.
size_t getWidth() const override
Returns the width of the image in pixels.
bool getLastMousePosition(int &x, int &y) const override
Gets the last x,y pixel coordinates of the mouse.
This class creates a window as a graphical user interface (GUI) for displaying images to the user...
GLsizei const GLchar ** string
void resize(unsigned int width, unsigned int height) override
Resizes the window, stretching the image to fit into the display area.
void showImagesAndMatchedPoints(const mrpt::img::CImage &img1, const mrpt::img::CImage &img2, const FEATURELIST &leftList, const FEATURELIST &rightList, const mrpt::img::TColor &color=mrpt::img::TColor::red())
Show a pair of given color or grayscale images (put together) on the window and print a set of matche...
void setPos(int x, int y) override
Changes the position of the window on the screen.
static constexpr TColor red()
Predefined colors.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
void drawFeatures(const FEATURELIST &list, const TColor &color=TColor::red(), const bool showIDs=false, const bool showResponse=false, const bool showScale=false, const char marker='+')
Draws a set of marks (or scaled circles for features with scale) onto the image, given a generic cont...
void showImageAndPoints(const mrpt::img::CImage &img, const mrpt::math::CVectorFloat &x, const mrpt::math::CVectorFloat &y, const mrpt::img::TColor &color=mrpt::img::TColor::red(), const bool &showNumbers=false)
Show a given color or grayscale image on the window and print a set of points on it.
void showImage(const mrpt::img::CImage &img)
Show a given color or grayscale image on the window.
CDisplayWindow(const std::string &windowCaption=std::string(), unsigned int initWidth=400, unsigned int initHeight=400)
Constructor.
static CDisplayWindow::Ptr Create(const std::string &windowCaption, unsigned int initWidth=400, unsigned int initHeight=400)
Class factory returning a smart pointer.
GLenum GLsizei GLsizei height
The base class for GUI window classes.
void showTiledImageAndPoints(const mrpt::img::CImage &img, const FEATURELIST &list, const mrpt::img::TColor &color=mrpt::img::TColor::red())
Show a given color or grayscale image on the window and print a set of points on it and a set of line...
int sprintf(char *buf, size_t bufSize, const char *format,...) noexcept MRPT_printf_format_check(3
An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compiler...
A class for storing images as grayscale or RGB bitmaps.
int round(const T value)
Returns the closer integer (int) to x.