#include "opencv2/opencv.hpp"
#include<iostream>
using namespace cv;
using namespace std;
Mat srcimg;
Mat dstimg;
int value = 20;
void OnChange(int,void*)
{
//threshold(srcimg, dstimg, value, 255, THRESH_BINARY);//二值化
//二值化参数:输入图像,输出图像,value滑动条所在的阈值,255为最大阈值,THRESH_BINARY的形式
Canny(srcimg, dstimg, value, 255);//边缘处理
imshow("TrackBar", dstimg);
}
void main()
{
srcimg = imread("E:\\1.png");
namedWindow("TrackBar", CV_WINDOW_AUTOSIZE);
createTrackbar("Threshold", "TrackBar", &value, 255, OnChange, 0);//创建滑动条
//滑动条参数:第一个:滑动条名称;第二个:窗口名称;&滑动条位置的地址,255最大阈值,OnChange:回调指针;最后一个参数是用户资料,设置为0即可
onchange(value, 0);//引入初值,首次显示的时候不是黑屏;首次显示即在value=20的地方;
imshow("TrackBar", dstimg);
waitKey(0);
}