1、滑动条事件
#include"stdafx.h"
#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
static Mat mSrcImg;
//函数声明
void onChange(int position, void *userdata);
//void onMouse(int event, int x, int y, void *userdara);
int main()
{
mSrcImg = imread("timg2.jpg");
namedWindow("beautiful");
int blurAmount = 0;
createTrackbar("blur", "beautiful", &blurAmount, 50, onChange, 0);
imshow("beautiful", mSrcImg);
waitKey(0);
return 0;
}
void onChange(int position, void *userdata)
{
if (position < 5)
{
imshow("beautiful", mSrcImg);
return;
}
else
{
Mat mSrcImgblur;
Mat mSrcImgClone;
mSrcImg.copyTo(mSrcImgClone);
blur(mSrcImgClone, mSrcImgblur, Size(position, position));
imshow("beautiful", mSrcImgblur);
}
}
2、按钮
#include"stdafx.h"
#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
cv::Mat mSrcImg;
void onChange(int position,void * usedata)
{
if(position==1)
{
imshow("beautiful", mSrcImg);
cout << "开" << endl;
}
else if (position == 0)
{
Mat mSrcImg_colone = Mat(mSrcImg.rows, mSrcImg.cols, CV_8UC3, Scalar(0,0,0));
imshow("beautiful", mSrcImg_colone);
cout << "关" << endl;
}
}
int main()
{
mSrcImg = imread("timg2.jpg");
namedWindow("beautiful");
int off = 0;
createTrackbar("开关", "beautiful", &off, 1, onChange);
Mat mSrcImg_colone = Mat(mSrcImg.rows, mSrcImg.cols, CV_8UC3, Scalar(0, 0, 0));
imshow("beautiful", mSrcImg_colone); waitKey(0);
return 0;
}