opencv——轨迹条控制图像对比度与亮度

#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<vector>
#include <iostream>
using namespace cv;
using namespace std;

Mat img1;
Mat img2;
int a;
int b;
void ContrastAndBright(int,void*)
{
	namedWindow("原始图像",1);
	for(int i=0;i<img1.rows;i++)
		for(int j=0;j<img1.cols;j++)
			for(int c=0;c<3;c++)
			{
				img2.at<Vec3b>(i,j)[c]=saturate_cast<uchar>(a*0.01*(img1.at<Vec3b>(i,j)[c])+b);
			}
	imshow("原始图像",img1);
	imshow("效果图",img2);
	imwrite("C://Users//huashuo111//Desktop//对比度.jpg",img2);

}
int main()
{
	//system("color 5F"); 
	const char* filename="C://Users//huashuo111//Desktop//星空.jpg";
    img1=imread(filename,1);
	img2=Mat::zeros(img1.size(),img1.type());
	a=60;
	b=80;
	namedWindow("效果图",1);
	createTrackbar("对比度","效果图",&a,300,ContrastAndBright);
	createTrackbar("亮度","效果图",&b,200,ContrastAndBright);
	ContrastAndBright(a,0);
	ContrastAndBright(b,0);

	waitKey();
	return 0;
}


效果图:





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值