#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2\opencv.hpp>
#include <math.h>
using namespace cv;
using namespace std;
int main()
{
//原图
Mat src = imread("E:\\1.jpg",IMREAD_UNCHANGED), dst;
//灰度图像
//Mat src = imread("E:\\1.jpg", IMREAD_GRAYSCALE), dst;
//RGB图像
//Mat img = imread("E:\\1.jpg", IMREAD_UNCHANGED);
// 创建一个名为 "图片"窗口
namedWindow("input_image", WINDOW_AUTOSIZE);
// 在窗口中显示图片
imshow("input_image", src);
// 等待6000 ms后窗口自动关闭
//imwrite("E:\\2.jpg", img);
int height = src.rows;
int width = src.cols;
double alpha = 0.6;
double beta = 50;
dst = Mat::zeros(src.size(), src.type());
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
dst.at<Vec3b>(y, x)[0] = saturate_cast<uchar>(alpha*src.at<Vec3b>(y, x)[0] + beta);
dst.at<Vec3b>(y, x)[1] = saturate_cast<uchar>(alpha*src.at<Vec3b>(y, x)[1] + beta);
dst.at<Vec3b>(y, x)[2] = saturate_cast<uchar>(alpha*src.at<Vec3b>(y, x)[2] + beta);
}
}
//输出结果
namedWindow("line_transform", WINDOW_AUTOSIZE);
imshow("line_transform", dst);
waitKey(6000);system("pause");
return 0;
}