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 #ifndef __OPENCV_HIGHGUI_H__
00043 #define __OPENCV_HIGHGUI_H__
00044
00045 #include "opencv2/core/core_c.h"
00046
00047 #ifdef __cplusplus
00048 extern "C" {
00049 #endif
00050
00051
00052
00053
00054
00055
00056
00057 enum { CV_FONT_LIGHT = 25,
00058 CV_FONT_NORMAL = 50,
00059 CV_FONT_DEMIBOLD = 63,
00060 CV_FONT_BOLD = 75,
00061 CV_FONT_BLACK = 87
00062 };
00063
00064 enum { CV_STYLE_NORMAL = 0,
00065 CV_STYLE_ITALIC = 1,
00066 CV_STYLE_OBLIQUE = 2
00067 };
00068
00069
00070
00071
00072 CVAPI(CvFont) cvFontQt(const char* nameFont, int pointSize CV_DEFAULT(-1), CvScalar color CV_DEFAULT(cvScalarAll(0)), int weight CV_DEFAULT(CV_FONT_NORMAL), int style CV_DEFAULT(CV_STYLE_NORMAL), int spacing CV_DEFAULT(0));
00073
00074 CVAPI(void) cvAddText(const CvArr* img, const char* text, CvPoint org, CvFont *arg2);
00075
00076 CVAPI(void) cvDisplayOverlay(const char* name, const char* text, int delayms);
00077 CVAPI(void) cvDisplayStatusBar(const char* name, const char* text, int delayms);
00078
00079 typedef void (CV_CDECL *CvOpenGLCallback)(void* userdata);
00080 CVAPI(void) cvCreateOpenGLCallback( const char* window_name, CvOpenGLCallback callbackOpenGL, void* userdata CV_DEFAULT(NULL), double angle CV_DEFAULT(-1), double zmin CV_DEFAULT(-1), double zmax CV_DEFAULT(-1));
00081
00082 CVAPI(void) cvSaveWindowParameters(const char* name);
00083 CVAPI(void) cvLoadWindowParameters(const char* name);
00084 CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
00085 CVAPI(void) cvStopLoop();
00086
00087 typedef void (CV_CDECL *CvButtonCallback)(int state, void* userdata);
00088 enum {CV_PUSH_BUTTON = 0, CV_CHECKBOX = 1, CV_RADIOBOX = 2};
00089 CVAPI(int) cvCreateButton( const char* button_name CV_DEFAULT(NULL),CvButtonCallback on_change CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL) , int button_type CV_DEFAULT(CV_PUSH_BUTTON), int initial_button_state CV_DEFAULT(0));
00090
00091
00092
00093
00094 CVAPI(int) cvInitSystem( int argc, char** argv );
00095
00096 CVAPI(int) cvStartWindowThread();
00097
00098
00099 enum
00100 {
00101
00102 CV_WND_PROP_FULLSCREEN = 0,
00103 CV_WND_PROP_AUTOSIZE = 1,
00104 CV_WND_PROP_ASPECTRATIO= 2,
00105
00106
00107 CV_WINDOW_NORMAL = 0x00000000,
00108 CV_WINDOW_AUTOSIZE = 0x00000001,
00109
00110
00111 CV_GUI_EXPANDED = 0x00000000,
00112 CV_GUI_NORMAL = 0x00000010,
00113
00114
00115 CV_WINDOW_FULLSCREEN = 1,
00116 CV_WINDOW_FREERATIO = 0x00000100,
00117 CV_WINDOW_KEEPRATIO = 0x00000000
00118 };
00119
00120
00121 CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) );
00122
00123
00124 CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value);
00125 CVAPI(double) cvGetWindowProperty(const char* name, int prop_id);
00126
00127
00128 CVAPI(void) cvShowImage( const char* name, const CvArr* image );
00129
00130
00131 CVAPI(void) cvResizeWindow( const char* name, int width, int height );
00132 CVAPI(void) cvMoveWindow( const char* name, int x, int y );
00133
00134
00135
00136 CVAPI(void) cvDestroyWindow( const char* name );
00137
00138 CVAPI(void) cvDestroyAllWindows(void);
00139
00140
00141 CVAPI(void*) cvGetWindowHandle( const char* name );
00142
00143
00144 CVAPI(const char*) cvGetWindowName( void* window_handle );
00145
00146
00147 typedef void (CV_CDECL *CvTrackbarCallback)(int pos);
00148
00149
00150 CVAPI(int) cvCreateTrackbar( const char* trackbar_name, const char* window_name,
00151 int* value, int count, CvTrackbarCallback on_change CV_DEFAULT(NULL));
00152
00153 typedef void (CV_CDECL *CvTrackbarCallback2)(int pos, void* userdata);
00154
00155 CVAPI(int) cvCreateTrackbar2( const char* trackbar_name, const char* window_name,
00156 int* value, int count, CvTrackbarCallback2 on_change,
00157 void* userdata CV_DEFAULT(0));
00158
00159
00160 CVAPI(int) cvGetTrackbarPos( const char* trackbar_name, const char* window_name );
00161 CVAPI(void) cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos );
00162
00163 enum
00164 {
00165 CV_EVENT_MOUSEMOVE =0,
00166 CV_EVENT_LBUTTONDOWN =1,
00167 CV_EVENT_RBUTTONDOWN =2,
00168 CV_EVENT_MBUTTONDOWN =3,
00169 CV_EVENT_LBUTTONUP =4,
00170 CV_EVENT_RBUTTONUP =5,
00171 CV_EVENT_MBUTTONUP =6,
00172 CV_EVENT_LBUTTONDBLCLK =7,
00173 CV_EVENT_RBUTTONDBLCLK =8,
00174 CV_EVENT_MBUTTONDBLCLK =9
00175 };
00176
00177 enum
00178 {
00179 CV_EVENT_FLAG_LBUTTON =1,
00180 CV_EVENT_FLAG_RBUTTON =2,
00181 CV_EVENT_FLAG_MBUTTON =4,
00182 CV_EVENT_FLAG_CTRLKEY =8,
00183 CV_EVENT_FLAG_SHIFTKEY =16,
00184 CV_EVENT_FLAG_ALTKEY =32
00185 };
00186
00187 typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param);
00188
00189
00190 CVAPI(void) cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse,
00191 void* param CV_DEFAULT(NULL));
00192
00193 enum
00194 {
00195
00196 CV_LOAD_IMAGE_UNCHANGED =-1,
00197
00198 CV_LOAD_IMAGE_GRAYSCALE =0,
00199
00200 CV_LOAD_IMAGE_COLOR =1,
00201
00202 CV_LOAD_IMAGE_ANYDEPTH =2,
00203
00204 CV_LOAD_IMAGE_ANYCOLOR =4
00205 };
00206
00207
00208
00209
00210
00211
00212
00213 CVAPI(IplImage*) cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
00214 CVAPI(CvMat*) cvLoadImageM( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
00215
00216 enum
00217 {
00218 CV_IMWRITE_JPEG_QUALITY =1,
00219 CV_IMWRITE_PNG_COMPRESSION =16,
00220 CV_IMWRITE_PXM_BINARY =32
00221 };
00222
00223
00224 CVAPI(int) cvSaveImage( const char* filename, const CvArr* image,
00225 const int* params CV_DEFAULT(0) );
00226
00227
00228 CVAPI(IplImage*) cvDecodeImage( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
00229 CVAPI(CvMat*) cvDecodeImageM( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));
00230
00231
00232 CVAPI(CvMat*) cvEncodeImage( const char* ext, const CvArr* image,
00233 const int* params CV_DEFAULT(0) );
00234
00235 enum
00236 {
00237 CV_CVTIMG_FLIP =1,
00238 CV_CVTIMG_SWAP_RB =2
00239 };
00240
00241
00242 CVAPI(void) cvConvertImage( const CvArr* src, CvArr* dst, int flags CV_DEFAULT(0));
00243
00244
00245 CVAPI(int) cvWaitKey(int delay CV_DEFAULT(0));
00246
00247
00248
00249
00250
00251
00252 typedef struct CvCapture CvCapture;
00253
00254
00255 CVAPI(CvCapture*) cvCreateFileCapture( const char* filename );
00256
00257 enum
00258 {
00259 CV_CAP_ANY =0,
00260
00261 CV_CAP_MIL =100,
00262
00263 CV_CAP_VFW =200,
00264 CV_CAP_V4L =200,
00265 CV_CAP_V4L2 =200,
00266
00267 CV_CAP_FIREWARE =300,
00268 CV_CAP_FIREWIRE =300,
00269 CV_CAP_IEEE1394 =300,
00270 CV_CAP_DC1394 =300,
00271 CV_CAP_CMU1394 =300,
00272
00273 CV_CAP_STEREO =400,
00274 CV_CAP_TYZX =400,
00275 CV_TYZX_LEFT =400,
00276 CV_TYZX_RIGHT =401,
00277 CV_TYZX_COLOR =402,
00278 CV_TYZX_Z =403,
00279
00280 CV_CAP_QT =500,
00281
00282 CV_CAP_UNICAP =600,
00283
00284 CV_CAP_DSHOW =700,
00285
00286 CV_CAP_PVAPI =800,
00287
00288 CV_CAP_OPENNI =900,
00289
00290 CV_CAP_ANDROID =1000
00291 };
00292
00293
00294 CVAPI(CvCapture*) cvCreateCameraCapture( int index );
00295
00296
00297
00298 CVAPI(int) cvGrabFrame( CvCapture* capture );
00299
00300
00301
00302
00303
00304 CVAPI(IplImage*) cvRetrieveFrame( CvCapture* capture, int streamIdx CV_DEFAULT(0) );
00305
00306
00307
00308 CVAPI(IplImage*) cvQueryFrame( CvCapture* capture );
00309
00310
00311 CVAPI(void) cvReleaseCapture( CvCapture** capture );
00312
00313 enum
00314 {
00315
00316
00317 CV_CAP_PROP_DC1394_OFF = -4,
00318 CV_CAP_PROP_DC1394_MODE_MANUAL = -3,
00319 CV_CAP_PROP_DC1394_MODE_AUTO = -2,
00320 CV_CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1,
00321 CV_CAP_PROP_POS_MSEC =0,
00322 CV_CAP_PROP_POS_FRAMES =1,
00323 CV_CAP_PROP_POS_AVI_RATIO =2,
00324 CV_CAP_PROP_FRAME_WIDTH =3,
00325 CV_CAP_PROP_FRAME_HEIGHT =4,
00326 CV_CAP_PROP_FPS =5,
00327 CV_CAP_PROP_FOURCC =6,
00328 CV_CAP_PROP_FRAME_COUNT =7,
00329 CV_CAP_PROP_FORMAT =8,
00330 CV_CAP_PROP_MODE =9,
00331 CV_CAP_PROP_BRIGHTNESS =10,
00332 CV_CAP_PROP_CONTRAST =11,
00333 CV_CAP_PROP_SATURATION =12,
00334 CV_CAP_PROP_HUE =13,
00335 CV_CAP_PROP_GAIN =14,
00336 CV_CAP_PROP_EXPOSURE =15,
00337 CV_CAP_PROP_CONVERT_RGB =16,
00338 CV_CAP_PROP_WHITE_BALANCE_BLUE_U =17,
00339 CV_CAP_PROP_RECTIFICATION =18,
00340 CV_CAP_PROP_MONOCROME =19,
00341 CV_CAP_PROP_SHARPNESS =20,
00342 CV_CAP_PROP_AUTO_EXPOSURE =21,
00343
00344
00345 CV_CAP_PROP_GAMMA =22,
00346 CV_CAP_PROP_TEMPERATURE =23,
00347 CV_CAP_PROP_TRIGGER =24,
00348 CV_CAP_PROP_TRIGGER_DELAY =25,
00349 CV_CAP_PROP_WHITE_BALANCE_RED_V =26,
00350 CV_CAP_PROP_MAX_DC1394 =27,
00351 CV_CAP_PROP_AUTOGRAB =1024,
00352 CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING=1025,
00353
00354 CV_CAP_OPENNI_DEPTH_GENERATOR = 0,
00355 CV_CAP_OPENNI_IMAGE_GENERATOR = 1 << 31,
00356 CV_CAP_OPENNI_GENERATORS_MASK = 1 << 31,
00357
00358
00359 CV_CAP_PROP_OPENNI_OUTPUT_MODE = 100,
00360 CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101,
00361 CV_CAP_PROP_OPENNI_BASELINE = 102,
00362 CV_CAP_PROP_OPENNI_FOCAL_LENGTH = 103,
00363 CV_CAP_PROP_OPENNI_REGISTRATION_ON = 104,
00364 CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_OUTPUT_MODE,
00365 CV_CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_BASELINE,
00366 CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_FOCAL_LENGTH,
00367 CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_REGISTRATION_ON,
00368
00369
00370 CV_CAP_GSTREAMER_QUEUE_LENGTH = 200,
00371 CV_CAP_PROP_PVAPI_MULTICASTIP = 300
00372 };
00373
00374 enum
00375 {
00376
00377 CV_CAP_OPENNI_DEPTH_MAP = 0,
00378 CV_CAP_OPENNI_POINT_CLOUD_MAP = 1,
00379 CV_CAP_OPENNI_DISPARITY_MAP = 2,
00380 CV_CAP_OPENNI_DISPARITY_MAP_32F = 3,
00381 CV_CAP_OPENNI_VALID_DEPTH_MASK = 4,
00382
00383
00384 CV_CAP_OPENNI_BGR_IMAGE = 5,
00385 CV_CAP_OPENNI_GRAY_IMAGE = 6
00386 };
00387
00388
00389 enum
00390 {
00391 CV_CAP_OPENNI_VGA_30HZ = 0,
00392 CV_CAP_OPENNI_SXGA_15HZ = 1
00393 };
00394
00395
00396 enum
00397 {
00398 CV_CAP_ANDROID_COLOR_FRAME_BGR = 0,
00399 CV_CAP_ANDROID_COLOR_FRAME = CV_CAP_ANDROID_COLOR_FRAME_BGR,
00400 CV_CAP_ANDROID_GREY_FRAME = 1,
00401 CV_CAP_ANDROID_COLOR_FRAME_RGB = 2,
00402 CV_CAP_ANDROID_COLOR_FRAME_BGRA = 3,
00403 CV_CAP_ANDROID_COLOR_FRAME_RGBA = 4
00404 };
00405
00406
00407 CVAPI(double) cvGetCaptureProperty( CvCapture* capture, int property_id );
00408 CVAPI(int) cvSetCaptureProperty( CvCapture* capture, int property_id, double value );
00409
00410
00411 CVAPI(int) cvGetCaptureDomain( CvCapture* capture);
00412
00413
00414 typedef struct CvVideoWriter CvVideoWriter;
00415
00416 CV_INLINE int CV_FOURCC(char c1, char c2, char c3, char c4)
00417 {
00418 return (c1 & 255) + ((c2 & 255) << 8) + ((c3 &255) << 16) + ((c4 & 255) << 24);
00419 }
00420
00421 #define CV_FOURCC_PROMPT -1
00422 #define CV_FOURCC_DEFAULT CV_FOURCC('I', 'Y', 'U', 'V')
00423
00424
00425 CVAPI(CvVideoWriter*) cvCreateVideoWriter( const char* filename, int fourcc,
00426 double fps, CvSize frame_size,
00427 int is_color CV_DEFAULT(1));
00428
00429
00430
00431
00432
00433 CVAPI(int) cvWriteFrame( CvVideoWriter* writer, const IplImage* image );
00434
00435
00436 CVAPI(void) cvReleaseVideoWriter( CvVideoWriter** writer );
00437
00438
00439
00440
00441
00442 #define cvCaptureFromFile cvCreateFileCapture
00443 #define cvCaptureFromCAM cvCreateCameraCapture
00444 #define cvCaptureFromAVI cvCaptureFromFile
00445 #define cvCreateAVIWriter cvCreateVideoWriter
00446 #define cvWriteToAVI cvWriteFrame
00447 #define cvAddSearchPath(path)
00448 #define cvvInitSystem cvInitSystem
00449 #define cvvNamedWindow cvNamedWindow
00450 #define cvvShowImage cvShowImage
00451 #define cvvResizeWindow cvResizeWindow
00452 #define cvvDestroyWindow cvDestroyWindow
00453 #define cvvCreateTrackbar cvCreateTrackbar
00454 #define cvvLoadImage(name) cvLoadImage((name),1)
00455 #define cvvSaveImage cvSaveImage
00456 #define cvvAddSearchPath cvAddSearchPath
00457 #define cvvWaitKey(name) cvWaitKey(0)
00458 #define cvvWaitKeyEx(name,delay) cvWaitKey(delay)
00459 #define cvvConvertImage cvConvertImage
00460 #define HG_AUTOSIZE CV_WINDOW_AUTOSIZE
00461 #define set_preprocess_func cvSetPreprocessFuncWin32
00462 #define set_postprocess_func cvSetPostprocessFuncWin32
00463
00464 #if defined WIN32 || defined _WIN32
00465
00466 CVAPI(void) cvSetPreprocessFuncWin32_(const void* callback);
00467 CVAPI(void) cvSetPostprocessFuncWin32_(const void* callback);
00468 #define cvSetPreprocessFuncWin32(callback) cvSetPreprocessFuncWin32_((const void*)(callback))
00469 #define cvSetPostprocessFuncWin32(callback) cvSetPostprocessFuncWin32_((const void*)(callback))
00470
00471 #endif
00472
00473 #ifdef __cplusplus
00474 }
00475 #endif
00476
00477 #endif