本节介绍怎么通过createTrackbar来设置一个进度条,实现图片的亮度调节。
Mat src, dst, m;
int lightness = 50;//亮度初值
static void on_track(int,void *) {
m = Scalar(lightness,lightness,lightness);//创建调整亮度的值
add(src, m,dst);//进行加法运算
imshow("亮度调整", dst);//显示图片,前提条件这些窗口都要命名为“亮度调整”
waitKey(0);
}
void QuickDemo::tracking_bar_demo(Mat &image) {
namedWindow("亮度调整",WINDOW_AUTOSIZE);
dst = Mat::zeros(image.size(), image.type());//图片的初始化创建一个和image大小相等,种类相同的图像
m = Mat::zeros(image.size(), image.type());//图片的初始化创建一个和image大小相等,种类相同的图像
int max_value = 100;//亮度最大值
src = image;//给scr赋值
createTrackbar("Value Bar:","亮度调整",&lightness,max_value,on_track);//回调函数
on_track(50, 0);//给on_track赋初值
}