9 #ifndef CDisplayWindow_H 10 #define CDisplayWindow_H 43 CDisplayWindow(
const std::string &windowCaption = std::string(),
unsigned int initWidth = 400,
unsigned int initHeight = 400 );
46 static CDisplayWindowPtr Create(
47 const std::string &windowCaption,
48 unsigned int initWidth = 400,
49 unsigned int initHeight = 400 );
56 virtual bool getLastMousePosition(
int &x,
int &y)
const MRPT_OVERRIDE;
59 virtual void setCursorCross(
bool cursorIsCross)
MRPT_OVERRIDE;
72 template <
class FEATURELIST>
78 imgColor.drawFeatures(list,color,showIDs);
87 template <
class FEATURELIST>
96 unsigned int w = imgColor.
getWidth();
98 imgColor.
line( 0, h/2, w-1, h/2, TColor::green );
99 imgColor.
line( w/4, 0, w/4, h, TColor::green );
100 imgColor.
line( w/2, 0, w/2, h, TColor::green );
101 imgColor.
line( 3*w/4, 0, 3*w/4, h, TColor::green );
103 showImageAndPoints( imgColor, list, color );
112 template <
class MATCHEDLIST>
127 imgColor.drawCircle(
round( i->first->x ),
round( i->first->y ), 4, color );
128 imgColor.drawCircle(
round( i->second->x + w ),
round( i->second->y ), 4, color );
134 imgColor.textOut(
round( i->first->x ) - 10,
round( i->first->y ), buf, color );
136 imgColor.textOut(
round( i->second->x + w ) + 10,
round( i->second->y ), buf, color );
148 template <
class FEATURELIST>
156 ASSERT_( leftList.size() == rightList.size() );
157 imgColor.joinImagesHorz( img1, img2 );
163 imgColor.drawCircle(
round( (*iL)->x ),
round( (*iL)->y ), 4, color );
164 imgColor.drawCircle(
round( (*iR)->x + w ),
round( (*iR)->y ), 4, color );
165 imgColor.line(
round( (*iL)->x ),
round( (*iL)->y ),
round( (*iR)->x + w ),
round( (*iR)->y ), color );
187 void resize(
unsigned int width,
unsigned int height )
MRPT_OVERRIDE;
197 m_enableCursorCoordinates = enable;
void line(int x0, int y0, int x1, int y1, const mrpt::utils::TColor color, unsigned int width=1, TPenStyle penStyle=psSolid) MRPT_OVERRIDE
Draws a line.
void showImageAndPoints(const mrpt::utils::CImage &img, const FEATURELIST &list, const mrpt::utils::TColor &color=mrpt::utils::TColor::red, const bool &showIDs=false)
Show a given color or grayscale image on the window and print a set of points on it.
bool m_enableCursorCoordinates
Enables or disables the visualization of cursor coordinates on the window caption.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
A class for storing images as grayscale or RGB bitmaps.
void showImagesAndMatchedPoints(const mrpt::utils::CImage &img1, const mrpt::utils::CImage &img2, const FEATURELIST &leftList, const FEATURELIST &rightList, const mrpt::utils::TColor &color=mrpt::utils::TColor::red)
Show a pair of given color or grayscale images (put together) on the window and print a set of matche...
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
void enableCursorCoordinatesVisualization(bool enable)
Enables or disables the visualization of cursor coordinates on the window caption (default = enabled)...
const Scalar * const_iterator
void showTiledImageAndPoints(const mrpt::utils::CImage &img, const FEATURELIST &list, const mrpt::utils::TColor &color=mrpt::utils::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...
size_t getWidth() const MRPT_OVERRIDE
Returns the width of the image in pixels.
void joinImagesHorz(const CImage &im1, const CImage &im2)
Joins two images side-by-side horizontally.
#define DEFINE_MRPT_OBJECT(class_name)
This declaration must be inserted in all CObject classes definition, within the class declaration...
size_t getHeight() const MRPT_OVERRIDE
Returns the height of the image in pixels.
This class creates a window as a graphical user interface (GUI) for displaying images to the user...
#define DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
int BASE_IMPEXP sprintf(char *buf, size_t bufSize, const char *format,...) MRPT_NO_THROWS MRPT_printf_format_check(3
An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compiler...
static TColor red
Predefined colors.
#define DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
void colorImage(CImage &ret) const
Returns a RGB version of the grayscale image, or itself if it is already a RGB image.
void showImagesAndMatchedPoints(const mrpt::utils::CImage &img1, const mrpt::utils::CImage &img2, const MATCHEDLIST &mList, const mrpt::utils::TColor &color=mrpt::utils::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...
int round(const T value)
Returns the closer integer (int) to x.
The base class for GUI window classes.