还是先看一个例子:在OPENCV里没有按钮,这个可以用滑动条来辅助实现,当然滑动条只取值0-1,如果愿意也可以用鼠标响应事件来代替:当鼠标移动到图像区域时表示1,之外表示0;
#include"cv.h"
#include"highgui.h"
#include<stdio.h>
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cxcore.lib")
int g_switch_value=0;//全局开关量;
void switch_callback(int pos)
{
if (pos==0)
{
dosomething;
}
else
{
do otherthings;
}
}
int main()
{
cvNameWindow("switchwindow",1);
cvCreateTrackbar("swith","switchwindow",&g_switch_value,1,switch_callback);//switch_callback可以为NULL,此时只改变滑动条位置,而不产生响应
while(1)等待滑动条响应
{
if(cvWaitKey(15)==27)break;
}
}
通过int cvGetTrackbar("窗口名",”滑动条名“)得到当前位置;
通过void cvSetTrackbar(("窗口名",”滑动条名“,int pos)设置滑动条位置;
注意滑动条在窗口上面还是下面完全取决于你的操作系统;