学习笔记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;
}

猜你喜欢

转载自www.cnblogs.com/oldhuang/p/10205169.html