在以前的几个例子里面,我们并没有实现与计算机的交互。在OpenCV中,我们可以使用TrackBar来进行交互,调整一些参数的大小。这篇文章主要介绍了如何使用TrackBar。
举一个均值滤波blur的例子。我们已经知道,卷积核影响了均值滤波的效果。卷积核越大,图像的模糊化越严重。我们可以使用TrackBar动态地调整卷积核的大小,这样可以使得实验效果更加直观。
首先,来看一下参考手册中的描述。我们可以使用createTrackbar函数来创建一个TrackBar。这个函数的原型如下:
其中,参数的意义为:
int createTrackbar (const string& trackbarName,const string& winName,
int *value,int count,
TrackbarCallback onChange=0,void *userdata=0);
trackbarName为创建的TrackBar的名字,
winName为创建的TrackBar所依附的窗体名字,
*value指针指向的是TrackBar当前的值,可以通过设置它改变游标的位置,
count为TrackBar的量程,注意一般情况下bar的最小值都是0,
TrackbarCallback为一个函数指针,这个函数必须有下面的原型:
void onChangeTrackbar(int ,void* );
其中第一个参数是tr