summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/image_keypoint/draw_surf_points.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/image_keypoint/draw_surf_points.h')
-rw-r--r--ml/dlib/dlib/image_keypoint/draw_surf_points.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/ml/dlib/dlib/image_keypoint/draw_surf_points.h b/ml/dlib/dlib/image_keypoint/draw_surf_points.h
new file mode 100644
index 000000000..b16c28f5d
--- /dev/null
+++ b/ml/dlib/dlib/image_keypoint/draw_surf_points.h
@@ -0,0 +1,40 @@
+// Copyright (C) 2013 Davis E. King (davis@dlib.net)
+// License: Boost Software License See LICENSE.txt for the full license.
+#ifndef DLIB_DRAW_SURf_POINTS_H_
+#define DLIB_DRAW_SURf_POINTS_H_
+
+#include "surf.h"
+#include "../gui_widgets.h"
+#include "draw_surf_points_abstract.h"
+
+namespace dlib
+{
+
+// ----------------------------------------------------------------------------------------
+ inline void draw_surf_points (
+ image_window& win,
+ const std::vector<surf_point>& sp
+ )
+ {
+ for (unsigned long i = 0; i < sp.size(); ++i)
+ {
+ const unsigned long radius = static_cast<unsigned long>(sp[i].p.scale*3);
+ const point center(sp[i].p.center);
+ point direction = center + point(radius,0);
+ // SURF descriptors are rotated by sp[i].angle. So we want to include a visual
+ // indication of this rotation on our overlay.
+ direction = rotate_point(center, direction, sp[i].angle);
+
+ win.add_overlay(image_display::overlay_circle(center, radius, rgb_pixel(0,255,0)));
+ // Draw a line showing the orientation of the SURF descriptor.
+ win.add_overlay(center, direction, rgb_pixel(255,0,0));
+ }
+ }
+
+// ----------------------------------------------------------------------------------------
+
+}
+
+#endif // DLIB_DRAW_SURf_POINTS_H_
+
+