00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef __OPENCV_HIGHGUI_HPP__
00044 #define __OPENCV_HIGHGUI_HPP__
00045
00046 #include "opencv2/core/core.hpp"
00047 #include "opencv2/highgui/highgui_c.h"
00048
00049 #ifdef __cplusplus
00050
00051 struct CvCapture;
00052 struct CvVideoWriter;
00053
00054 namespace cv
00055 {
00056
00057 enum { WINDOW_AUTOSIZE=1 };
00058
00059 CV_EXPORTS_W void namedWindow( const string& winname, int flags CV_DEFAULT(WINDOW_AUTOSIZE) );
00060 CV_EXPORTS_W void destroyWindow( const string& winname );
00061 CV_EXPORTS_W int startWindowThread();
00062
00063 CV_EXPORTS_W void setWindowProperty(const string& winname, int prop_id, double prop_value);
00064 CV_EXPORTS_W double getWindowProperty(const string& winname, int prop_id);
00065
00066
00067
00068
00069 CV_EXPORTS CvFont fontQt(const string& nameFont, int pointSize CV_DEFAULT(-1), Scalar color CV_DEFAULT(Scalar::all(0)), int weight CV_DEFAULT(CV_FONT_NORMAL), int style CV_DEFAULT(CV_STYLE_NORMAL), int spacing CV_DEFAULT(0));
00070 CV_EXPORTS void addText( const Mat& img, const string& text, Point org, CvFont font);
00071
00072 CV_EXPORTS void displayOverlay(const string& winname, const string& text, int delayms);
00073 CV_EXPORTS void displayStatusBar(const string& winname, const string& text, int delayms);
00074
00075 typedef void (CV_CDECL *OpenGLCallback)(void* userdata);
00076 CV_EXPORTS void createOpenGLCallback(const string& winname, CvOpenGLCallback callbackOpenGL, void* userdata CV_DEFAULT(0));
00077
00078 CV_EXPORTS void saveWindowParameters(const string& windowName);
00079 CV_EXPORTS void loadWindowParameters(const string& windowName);
00080 CV_EXPORTS int startLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
00081 CV_EXPORTS void stopLoop();
00082
00083 typedef void (CV_CDECL *ButtonCallback)(int state, void* userdata);
00084 CV_EXPORTS int createButton( const string& bar_name, ButtonCallback on_change , void* userdata CV_DEFAULT(NULL), int type CV_DEFAULT(CV_PUSH_BUTTON), bool initial_button_state CV_DEFAULT(0));
00085
00086
00087 CV_EXPORTS_W void imshow( const string& winname, const Mat& mat );
00088
00089 typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
00090
00091 CV_EXPORTS int createTrackbar( const string& trackbarname, const string& winname,
00092 int* value, int count,
00093 TrackbarCallback onChange CV_DEFAULT(0),
00094 void* userdata CV_DEFAULT(0));
00095
00096 CV_EXPORTS_W int getTrackbarPos( const string& trackbarname, const string& winname );
00097 CV_EXPORTS_W void setTrackbarPos( const string& trackbarname, const string& winname, int pos );
00098
00099 typedef void (*MouseCallback )(int event, int x, int y, int flags, void* param);
00100
00102 CV_EXPORTS void setMouseCallback( const string& windowName, MouseCallback onMouse, void* param=0);
00103
00104 CV_EXPORTS_W Mat imread( const string& filename, int flags=1 );
00105 CV_EXPORTS_W bool imwrite( const string& filename, const Mat& img,
00106 const vector<int>& params=vector<int>());
00107 CV_EXPORTS_W Mat imdecode( const Mat& buf, int flags );
00108 CV_EXPORTS_W bool imencode( const string& ext, const Mat& img,
00109 CV_OUT vector<uchar>& buf,
00110 const vector<int>& params=vector<int>());
00111
00112 CV_EXPORTS_W int waitKey(int delay=0);
00113
00114 #ifndef CV_NO_VIDEO_CAPTURE_CPP_API
00115
00116 template<> void CV_EXPORTS Ptr<CvCapture>::delete_obj();
00117 template<> void CV_EXPORTS Ptr<CvVideoWriter>::delete_obj();
00118
00119 class CV_EXPORTS_W VideoCapture
00120 {
00121 public:
00122 CV_WRAP VideoCapture();
00123 CV_WRAP VideoCapture(const string& filename);
00124 CV_WRAP VideoCapture(int device);
00125
00126 virtual ~VideoCapture();
00127 CV_WRAP virtual bool open(const string& filename);
00128 CV_WRAP virtual bool open(int device);
00129 CV_WRAP virtual bool isOpened() const;
00130 CV_WRAP virtual void release();
00131
00132 CV_WRAP virtual bool grab();
00133 CV_WRAP virtual bool retrieve(CV_OUT Mat& image, int channel=0);
00134 virtual VideoCapture& operator >> (CV_OUT Mat& image);
00135 CV_WRAP virtual bool read(CV_OUT Mat& image);
00136
00137 CV_WRAP virtual bool set(int propId, double value);
00138 CV_WRAP virtual double get(int propId);
00139
00140 protected:
00141 Ptr<CvCapture> cap;
00142 };
00143
00144
00145 class CV_EXPORTS_W VideoWriter
00146 {
00147 public:
00148 CV_WRAP VideoWriter();
00149 CV_WRAP VideoWriter(const string& filename, int fourcc, double fps,
00150 Size frameSize, bool isColor=true);
00151
00152 virtual ~VideoWriter();
00153 CV_WRAP virtual bool open(const string& filename, int fourcc, double fps,
00154 Size frameSize, bool isColor=true);
00155 CV_WRAP virtual bool isOpened() const;
00156 virtual VideoWriter& operator << (const Mat& image);
00157 CV_WRAP virtual void write(const Mat& image);
00158
00159 protected:
00160 Ptr<CvVideoWriter> writer;
00161 };
00162
00163 #endif
00164
00165 }
00166
00167 #endif
00168
00169 #endif