您好,依然没有作用,一下附上源文件
#include<opencv2/opencv.hpp>
#include<iostream>
#include "main.h"
using namespace cv;
int main(int argc, char** argv) {
String srcAdress = "C:/Users/Rayne/Desktop/Opencv/girl.jpg";
Mat src,dst;
src= imread(srcAdress);
//dst = Mat::zeros(src.size(), src.type());
dst.create(src.size(), src.type());
//std::cout << src.size() << src.type();
if (src.empty()) {
std::cout << "Cannot load image: "<<srcAdress;
return -1;
}
float alpha = 1.4f;
float beta = 30;
int row = src.rows;
int col = src.cols;
char t;
while(1)
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
for (int k = 0; k < src.channels(); k++)
{
dst.at<Vec3b>(i, j)[k] = saturate_cast<uchar>(src.at<Vec3b>(i, j)[k] * alpha + beta);
}
}
}
std::cout << "Please adapt\n";
/* namedWindow("Initial image", CV_WINDOW_AUTOSIZE);
imshow("Initial image", src);*/
namedWindow("Fixed image", CV_WINDOW_AUTOSIZE);
imshow("Fixed image", dst);
switch (waitKey(0) & 0xFF)
{
case 'w':alpha = alpha + 0.1f; break;
case 's':alpha = alpha -0.1f; break;
case 'd':beta = beta + 5; break;
case 'a':beta = beta - 5; break;
default:break;
}
}
return 0;
} |