summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/image_transforms/draw_abstract.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/image_transforms/draw_abstract.h')
-rw-r--r--ml/dlib/dlib/image_transforms/draw_abstract.h150
1 files changed, 150 insertions, 0 deletions
diff --git a/ml/dlib/dlib/image_transforms/draw_abstract.h b/ml/dlib/dlib/image_transforms/draw_abstract.h
new file mode 100644
index 000000000..6631f8d8f
--- /dev/null
+++ b/ml/dlib/dlib/image_transforms/draw_abstract.h
@@ -0,0 +1,150 @@
+// Copyright (C) 2008 Davis E. King (davis@dlib.net)
+// License: Boost Software License See LICENSE.txt for the full license.
+#undef DLIB_DRAW_IMAGe_ABSTRACT
+#ifdef DLIB_DRAW_IMAGe_ABSTRACT
+
+#include "../matrix.h"
+#include "../image_processing/generic_image.h"
+
+namespace dlib
+{
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_type,
+ typename pixel_type
+ >
+ void draw_line (
+ image_type& img,
+ const point& p1,
+ const point& p2,
+ const pixel_type& val
+ );
+ /*!
+ requires
+ - image_type == an image object that implements the interface defined in
+ dlib/image_processing/generic_image.h
+ ensures
+ - #img.nr() == img.nr() && #img.nc() == img.nc()
+ (i.e. the dimensions of the input image are not changed)
+ - for all valid r and c that are on the line between point p1 and p2:
+ - performs assign_pixel(img[r][c], val)
+ (i.e. it draws the line from p1 to p2 onto the image)
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_type,
+ typename pixel_type
+ >
+ void draw_line (
+ long x1,
+ long y1,
+ long x2,
+ long y2,
+ image_type& img,
+ const pixel_type& val
+ );
+ /*!
+ requires
+ - image_type == an image object that implements the interface defined in
+ dlib/image_processing/generic_image.h
+ ensures
+ - performs draw_line(img, point(x1,y1), point(x2,y2), val)
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_type,
+ typename pixel_type
+ >
+ void draw_rectangle (
+ image_type& img,
+ const rectangle& rect,
+ const pixel_type& val,
+ unsigned int thickness = 1
+ );
+ /*!
+ requires
+ - image_type == an image object that implements the interface defined in
+ dlib/image_processing/generic_image.h
+ - pixel_traits<pixel_type> is defined
+ ensures
+ - Draws the given rectangle onto the image img. It does this by calling
+ draw_line() four times to draw the four sides of the rectangle.
+ - The rectangle is drawn with the color given by val.
+ - The drawn rectangle will have edges that are thickness pixels wide.
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_type,
+ typename pixel_type
+ >
+ void draw_solid_circle (
+ image_type& img,
+ const dpoint& center_point,
+ double radius,
+ const pixel_type& pixel
+ );
+ /*!
+ requires
+ - image_type == an image object that implements the interface defined in
+ dlib/image_processing/generic_image.h
+ - pixel_traits<pixel_type> is defined
+ ensures
+ - Draws a fully filled in circle onto image that is centered at center_point
+ and has the given radius. The circle will be filled by assigning the given
+ pixel value to each element of the circle.
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_type,
+ typename pixel_type
+ >
+ void fill_rect (
+ image_type& img,
+ const rectangle& rect,
+ const pixel_type& pixel
+ );
+ /*!
+ requires
+ - image_type == an image object that implements the interface defined in
+ dlib/image_processing/generic_image.h
+ - pixel_traits<pixel_type> is defined
+ ensures
+ - fills the area defined by rect in the given image with the given pixel value.
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+ template <
+ typename image_array_type
+ >
+ matrix<typename image_traits<typename image_array_type::value_type>::pixel_type> tile_images (
+ const image_array_type& images
+ );
+ /*!
+ requires
+ - image_array_type is a dlib::array of image objects where each image object
+ implements the interface defined in dlib/image_processing/generic_image.h
+ ensures
+ - This function takes the given images and tiles them into a single large
+ square image and returns this new big tiled image. Therefore, it is a useful
+ method to visualize many small images at once.
+ !*/
+
+// ----------------------------------------------------------------------------------------
+
+}
+
+#endif // DLIB_DRAW_IMAGe_ABSTRACT
+
+
+