学习笔记opencv滑块工具调节图像模糊程度
创建滑动条函数:createTrackbar()
函数原型:int createTrackbar(const string& trackbarname,const string& windowname,int *value,int count,TrackbarCallback onChange=0,void* userdata=0);
第一个参数为滑动条的名字;
第二个参数为窗口名字;
第三个参数为整形指针,表示滑块的值;
第四个参数为滑条最大值;
第五个参数为回调函数,函数原型必须为void TrackbarCallbackName(int ,void*);,其中void * 是我们在写回调函数时要传入的参数,即第六个参数;
第六个参数为用户传给回调函数的参数。
#include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; Mat frame; Mat changeFra; int value; //回调函数 void on_Trackbar( int,void* ) { blur(frame,changeFra,Size(value+1,value+1));//blur函数模糊size参数不能为零,加一使得在调整滑条时零也不会退出。 imshow("barTest",changeFra); } int main(int argc,char** argv) { value=10; frame=imread("bird.jpg"); namedWindow("barTest",1); createTrackbar("track","barTest",&value,50,on_Trackbar);//没有用第六个参数。 on_Trackbar(value,0);//调用回调函数 waitKey(0); return 0; }