HighGUI简单图形界面
2017-04-21 10:01
519 查看
HighHGUI只是用来建立快速软件原形或是试验用的。它提供了简单易用的图形用户接口,但是功能并不强大,也不是很灵活。
编辑]
创建窗口
name 窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。flags 窗口属性标志,为1时表示会根据图像自动调整窗口大小。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像(参考cvShowImage)。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。被创建的窗口可以通过它们的名字被引用。
如果已经存在这个名字的窗口,这个函数将不做任何事情。
[编辑]
销毁一个窗口
name 要被销毁的窗口的名字。
函数cvDestroyWindow销毁指定名字的窗口。
[编辑]
销毁所有HighGUI窗口
函数cvDestroyAllWindows销毁所有已经打开的HighGUI窗口。
[编辑]
设定窗口大小
name 将被设置窗口的名字。width 新的窗口宽度。height 新的窗口高度。
函数cvResizeWindow改变窗口的大小。
[编辑]
设定窗口的位置
name 将被设置的窗口的名字。x 窗口左上角的x坐标。y 窗口左上角的y坐标。
函数cvMoveWindow改变窗口的位置。
[编辑]
通过名字获取窗口句柄
name 窗口名字。
函数cvGetWindowHandle返回原始的窗口句柄(在Win32情况下返回HWND,GTK+情况下返回GtkWidget)
[编辑]
通过句柄获取窗口的名字
window_handle 窗口句柄。
给定窗口的句柄(在Win32情况下是HWND,GTK+情况下是GtkWidget),返回窗口的名字。
[编辑]
在指定窗口中显示图像
name窗口的名字。image被显示的图像。
函数cvShowImage 在指定窗口中显示图像。如果窗口创建的时候被设定标志CV_WINDOW_AUTOSIZE,那么图像将以原始尺寸显示;否则,图像将被伸缩以适合窗口大小。
[编辑]
创建trackbar并将它添加到指定的窗口。
trackbar_name被创建的trackbar名字。window_name窗口名字,这个窗口将为被创建trackbar的父对象。value 整数指针,它的值将反映滑块的位置。这个变量指定创建时的滑块位置。count 滑块位置的最大值。最小值一直是0。on_change 每次滑块位置被改变的时候,被调用函数的指针。这个函数应该被声明为void Foo(int); 如果没有回调函数,这个值可以设为NULL。
函数cvCreateTrackbar用指定的名字和范围来创建trackbar(滑块或者范围控制),指定与trackbar位置同步的变量,并且指定当trackbar位置被改变的时候调用的回调函数。被创建的trackbar显示在指定窗口的顶端。
[编辑]
获取trackbar的位置
trackbar_name trackbar的名字。window_name trackbar父窗口的名字。
函数cvGetTrackbarPos返回指定trackbar的当前位置。
[编辑]
设置trackbar位置
trackbar_name trackbar的名字。window_name trackbar父窗口的名字。pos 新的位置。
函数cvSetTrackbarPos设置指定trackbar的位置。
[编辑]
设置鼠标事件的回调函数
window_name 窗口的名字。on_mouse 指定窗口里每次鼠标事件发生的时候,被调用的函数指针。这个函数的原型应该为
其中event是 CV_EVENT_*变量之一, x和y是鼠标指针在图像坐标系的坐标(不是窗口坐标系), flags是CV_EVENT_FLAG的组合(即上面的一些有关现在动作状态的预定义,现在鼠标没任何操作时为0), param是用户定义的传递到cvSetMouseCallback函数调用的参数。
param 用户定义的传递到回调函数的参数。
函数cvSetMouseCallback设定指定窗口鼠标事件发生时的回调函数。详细使用方法,请参考opencv/samples/c/ffilldemo.c demo。
[编辑]
等待按键事件
delay 延迟的毫秒数。
函数cvWaitKey无限制的等待按键事件(delay<=0时);或者延迟"delay"毫秒。返回值为被按键的值,如果超过指定时间则返回-1。
注释:这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中。
译者注:比如在MFC环境下,这个函数不起作用。
编辑]
cvNamedWindow
创建窗口int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
name 窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。flags 窗口属性标志,为1时表示会根据图像自动调整窗口大小。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像(参考cvShowImage)。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。被创建的窗口可以通过它们的名字被引用。
如果已经存在这个名字的窗口,这个函数将不做任何事情。
[编辑]
cvDestroyWindow
销毁一个窗口void cvDestroyWindow( const char* name );
name 要被销毁的窗口的名字。
函数cvDestroyWindow销毁指定名字的窗口。
[编辑]
cvDestroyAllWindows
销毁所有HighGUI窗口void cvDestroyAllWindows(void);
函数cvDestroyAllWindows销毁所有已经打开的HighGUI窗口。
[编辑]
cvResizeWindow
设定窗口大小void cvResizeWindow( const char* name, int width, int height );
name 将被设置窗口的名字。width 新的窗口宽度。height 新的窗口高度。
函数cvResizeWindow改变窗口的大小。
[编辑]
cvMoveWindow
设定窗口的位置void cvMoveWindow( const char* name, int x, int y );
name 将被设置的窗口的名字。x 窗口左上角的x坐标。y 窗口左上角的y坐标。
函数cvMoveWindow改变窗口的位置。
[编辑]
cvGetWindowHandle
通过名字获取窗口句柄void* cvGetWindowHandle( const char* name );
name 窗口名字。
函数cvGetWindowHandle返回原始的窗口句柄(在Win32情况下返回HWND,GTK+情况下返回GtkWidget)
[编辑]
cvGetWindowName
通过句柄获取窗口的名字const char* cvGetWindowName( void* window_handle );
window_handle 窗口句柄。
给定窗口的句柄(在Win32情况下是HWND,GTK+情况下是GtkWidget),返回窗口的名字。
[编辑]
cvShowImage
在指定窗口中显示图像void cvShowImage( const char* name, const CvArr* image );
name窗口的名字。image被显示的图像。
函数cvShowImage 在指定窗口中显示图像。如果窗口创建的时候被设定标志CV_WINDOW_AUTOSIZE,那么图像将以原始尺寸显示;否则,图像将被伸缩以适合窗口大小。
[编辑]
cvCreateTrackbar
创建trackbar并将它添加到指定的窗口。CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) ); int cvCreateTrackbar( const char* trackbar_name, const char* window_name, int* value, int count, CvTrackbarCallback on_change );
trackbar_name被创建的trackbar名字。window_name窗口名字,这个窗口将为被创建trackbar的父对象。value 整数指针,它的值将反映滑块的位置。这个变量指定创建时的滑块位置。count 滑块位置的最大值。最小值一直是0。on_change 每次滑块位置被改变的时候,被调用函数的指针。这个函数应该被声明为void Foo(int); 如果没有回调函数,这个值可以设为NULL。
函数cvCreateTrackbar用指定的名字和范围来创建trackbar(滑块或者范围控制),指定与trackbar位置同步的变量,并且指定当trackbar位置被改变的时候调用的回调函数。被创建的trackbar显示在指定窗口的顶端。
[编辑]
cvGetTrackbarPos
获取trackbar的位置int cvGetTrackbarPos( const char* trackbar_name, const char* window_name );
trackbar_name trackbar的名字。window_name trackbar父窗口的名字。
函数cvGetTrackbarPos返回指定trackbar的当前位置。
[编辑]
cvSetTrackbarPos
设置trackbar位置void cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos );
trackbar_name trackbar的名字。window_name trackbar父窗口的名字。pos 新的位置。
函数cvSetTrackbarPos设置指定trackbar的位置。
[编辑]
cvSetMouseCallback
设置鼠标事件的回调函数#define CV_EVENT_MOUSEMOVE 0 #define CV_EVENT_LBUTTONDOWN 1 #define CV_EVENT_RBUTTONDOWN 2 #define CV_EVENT_MBUTTONDOWN 3 #define CV_EVENT_LBUTTONUP 4 放开鼠标左键 #define CV_EVENT_RBUTTONUP 5 #define CV_EVENT_MBUTTONUP 6 #define CV_EVENT_LBUTTONDBLCLK 7 #define CV_EVENT_RBUTTONDBLCLK 8 #define CV_EVENT_MBUTTONDBLCLK 9 #define CV_EVENT_FLAG_LBUTTON 1 #define CV_EVENT_FLAG_RBUTTON 2 #define CV_EVENT_FLAG_MBUTTON 4 #define CV_EVENT_FLAG_CTRLKEY 8 #define CV_EVENT_FLAG_SHIFTKEY 16 #define CV_EVENT_FLAG_ALTKEY 32 CV_EXTERN_C_FUNCPTR( void (*CvMouseCallback )(int event, int x, int y, int flags, void* param) ); void cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, void* param=NULL );
window_name 窗口的名字。on_mouse 指定窗口里每次鼠标事件发生的时候,被调用的函数指针。这个函数的原型应该为
void Foo(int event, int x, int y, int flags, void* param);
其中event是 CV_EVENT_*变量之一, x和y是鼠标指针在图像坐标系的坐标(不是窗口坐标系), flags是CV_EVENT_FLAG的组合(即上面的一些有关现在动作状态的预定义,现在鼠标没任何操作时为0), param是用户定义的传递到cvSetMouseCallback函数调用的参数。
param 用户定义的传递到回调函数的参数。
函数cvSetMouseCallback设定指定窗口鼠标事件发生时的回调函数。详细使用方法,请参考opencv/samples/c/ffilldemo.c demo。
[编辑]
cvWaitKey
等待按键事件int cvWaitKey( int delay=0 );
delay 延迟的毫秒数。
函数cvWaitKey无限制的等待按键事件(delay<=0时);或者延迟"delay"毫秒。返回值为被按键的值,如果超过指定时间则返回-1。
注释:这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中。
译者注:比如在MFC环境下,这个函数不起作用。
相关文章推荐
- 【matlab】一个简单的matlab图形界面程序GUI
- 一个简单图形界面框架XYGui的设计与实现 (三)
- 一个简单图形界面框架XYGui的设计与实现 (四)
- 一个简单图形界面框架XYGui的设计与实现 (五)
- 一个简单的matlab图形界面程序GUI
- [综合] 一个简单图形界面框架XYGui的设计与实现 (二)
- 一个简单的matlab图形界面程序GUI
- 一个简单图形界面框架XYGui的设计与实现 (一)
- OpenCV学习笔记(十)——图形交互和媒体接口HighGUI
- MDK 10.1版,简单硬盘安装法(图形界面)
- 嵌入式Linux的图形使用者界面(GUI)设计
- [C#] cmdarg_ui:“简单参数命令行程序”的通用图形界面
- mini2440 SD卡 emdebian lenny 安装图形界面GUI(qtopia2+icewm)问题总汇
- 将自己的工作环境全面移植到C++---最后一道工序:能用MFC制作简单的图形界面
- matlab生成exe,含gui图形界面
- 微型嵌入式GUI(图形界面系统,Linux,DOS,uC/OS)-相关下载!
- 一架小钢琴——图形界面与发声技术的简单应用
- UDP实现简单图形界面多线程聊天
- Linux帧缓冲设备驱动程序框架及图形界面GUI的移植
- Sql触发器和简单图形界面sql备份和还原.十二