#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int rowsnum;
int colsnum;
Mat logoImage;
Mat dstImage;
int a=0;
int b=0;
static void contrastandbright(int,void *);
int main()
{
a=80;
b=80;
int amax=300;
int bmax=255;
logoImage=imread("1.jpg");
resize(logoImage,logoImage,Size(300,300));
dstImage=logoImage.clone();
rowsnum=dstImage.rows;
colsnum=dstImage.cols*dstImage.channels();
namedWindow("【实时观测图像】");
createTrackbar("对比度","【实时观测图像】",&a,amax,contrastandbright);
createTrackbar("亮度","【实时观测图像】",&b,bmax,contrastandbright);
contrastandbright(a,0);
contrastandbright(b,0);
while (char(waitKey(1))!='q');{}
return 0;
}
static void contrastandbright(int,void *)
{
for(int i=0;i<rowsnum;i++)
{
uchar* data=dstImage.ptr<uchar>(i);
for(int j=0;j<colsnum;j++)
{
data[j]=a*0.01*data[j]+b;
}
}
imshow("【原始图像】",logoImage);
imshow("【实时观测图像】",dstImage);
}
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int rowsnum;
int colsnum;
Mat logoImage;
Mat dstImage;
int a=0;
int b=0;
static void contrastandbright(int,void *);
int main()
{
a=80;
b=80;
int amax=300;
int bmax=255;
logoImage=imread("1.jpg");
resize(logoImage,logoImage,Size(300,300));
dstImage=logoImage.clone();
rowsnum=dstImage.rows;
colsnum=dstImage.cols*dstImage.channels();
namedWindow("【实时观测图像】");
createTrackbar("对比度","【实时观测图像】",&a,amax,contrastandbright);
createTrackbar("亮度","【实时观测图像】",&b,bmax,contrastandbright);
contrastandbright(a,0);
contrastandbright(b,0);
while (char(waitKey(1))!='q');{}
return 0;
}
static void contrastandbright(int,void *)
{
for(int i=0;i<rowsnum;i++)
{
uchar* data=dstImage.ptr<uchar>(i);
for(int j=0;j<colsnum;j++)
{
data[j]=a*0.01*data[j]+b;
}
}
imshow("【原始图像】",logoImage);
imshow("【实时观测图像】",dstImage);
}