9 #ifndef CDisplayWindow_H
10 #define CDisplayWindow_H
33 using Ptr = std::shared_ptr<CDisplayWindow>;
34 using ConstPtr = std::shared_ptr<const CDisplayWindow>;
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)
96 img.colorImage(imgColor);
97 imgColor.drawFeatures(list,
color, showIDs);
107 template <
class FEATURELIST>
115 img.colorImage(imgColor);
137 template <
class MATCHEDLIST>
140 const MATCHEDLIST& mList,
142 bool showNumbers =
false)
155 i != mList.end(); ++i, ++nf)
167 buf, 15,
"%d[%u]", nf, (
unsigned int)i->first->ID);
171 buf, 15,
"%d[%u]", nf, (
unsigned int)i->second->ID);
173 round(i->second->x +
w) + 10,
round(i->second->y), buf,
187 template <
class FEATURELIST>
190 const FEATURELIST& leftList,
const FEATURELIST& rightList,
198 ASSERT_(leftList.size() == rightList.size());
199 imgColor.joinImagesHorz(img1, img2);
204 iR = rightList.begin();
205 iL != leftList.end(); ++iL, ++iR)
The base class for GUI window classes.
This class creates a window as a graphical user interface (GUI) for displaying images to the user.
virtual void setCursorCross(bool cursorIsCross) override
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true)
void showImage(const mrpt::img::CImage &img)
Show a given color or grayscale image on the window.
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...
virtual bool getLastMousePosition(int &x, int &y) const override
Gets the last x,y pixel coordinates of the mouse.
void setWindowTitle(const std::string &str) override
Changes the window title text.
bool m_enableCursorCoordinates
Enables or disables the visualization of cursor coordinates on the window caption.
void setPos(int x, int y) override
Changes the position of the window on the screen.
std::shared_ptr< CDisplayWindow > Ptr
void plot(const mrpt::math::CVectorFloat &x, const mrpt::math::CVectorFloat &y)
Plots a graph in MATLAB-like style.
void enableCursorCoordinatesVisualization(bool enable)
Enables or disables the visualization of cursor coordinates on the window caption (default = enabled)...
std::shared_ptr< const CDisplayWindow > ConstPtr
CDisplayWindow(const std::string &windowCaption=std::string(), unsigned int initWidth=400, unsigned int initHeight=400)
Constructor.
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...
virtual ~CDisplayWindow()
Destructor.
static CDisplayWindow::Ptr Create(const std::string &windowCaption, unsigned int initWidth=400, unsigned int initHeight=400)
Class factory returning a smart pointer.
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...
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 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 resize(unsigned int width, unsigned int height) override
Resizes the window, stretching the image to fit into the display area.
A class for storing images as grayscale or RGB bitmaps.
void joinImagesHorz(const CImage &im1, const CImage &im2)
Joins two images side-by-side horizontally.
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.
size_t getHeight() const override
Returns the height of the image in pixels.
size_t getWidth() const override
Returns the width of the image in pixels.
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction.
const Scalar * const_iterator
#define ASSERT_(f)
Defines an assertion mechanism.
GLubyte GLubyte GLubyte GLubyte w
GLenum GLsizei GLsizei height
GLsizei const GLchar ** string
int round(const T value)
Returns the closer integer (int) to x.
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...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
static constexpr TColor red()
Predefined colors.