00001
00007 #ifndef P_SDRAW_HH
00008 #define P_SDRAW_HH
00009
00010
00011
00012
00013
00014 #include <opencv2/opencv.hpp>
00015 #include <blort/Recognizer3D/PNamespace.hh>
00016 #include <blort/Recognizer3D/Vector2.hh>
00017 #include <blort/Recognizer3D/Array.hh>
00018
00019 namespace P
00020 {
00021
00022 class SDraw
00023 {
00024 public:
00025 static void DrawCross(IplImage *img, double x, double y,
00026 CvScalar c=CV_RGB(0,0,255), int thickness=1);
00027 static void DrawLine(IplImage *img, double x1, double y1, double x2, double y2,
00028 CvScalar c=CV_RGB(255,255,255), int thickness=1);
00029 static void DrawCircle(IplImage *img, double x, double y, double r,
00030 CvScalar c=CV_RGB(255,255,255), int thickness=1);
00031 static void DrawEllipse(IplImage *img, double x, double y, double a, double b,
00032 double angle, CvScalar c=CV_RGB(255,255,255), int thickness=1);
00033 static void DrawArc(IplImage *img, double x, double y, double r, double start_angle,
00034 double angular_span, CvScalar c=CV_RGB(255,0,0), int thickness=1);
00035 static void DrawTriangle(IplImage *img, double x1, double y1, double x2, double y2,
00036 double x3, double y3, CvScalar c=CV_RGB(0,0,255), int thickness=1);
00037 static void DrawRectangle(IplImage *img, double x1, double y1, double x2, double y2,
00038 CvScalar c=CV_RGB(0,0,255), int thickness=1);
00039 static void DrawPoly(IplImage *img, P::Array<Vector2> &vs,
00040 CvScalar c=CV_RGB(0,0,255), int thickness=1);
00041 static void DrawFillPoly(IplImage *img, P::Array<Vector2> &vs,
00042 CvScalar c=CV_RGB(0,0,255));
00043 static void DrawSIFT(IplImage *img, double x, double y, double l, double o,
00044 CvScalar c=CV_RGB(0,0,255), int thickness=1);
00045 static void WriteText(IplImage *img, const char* text, double x, double y, CvScalar c);
00046 };
00047
00048
00049 }
00050
00051 #endif
00052