实验2.1:对比度调整
设计一个Sigmoid函数,实现对图像的对比度调整(使用opencv窗口系统的slider控件,交互改变Sigmoid函数的参数,实现不同程度的对比度调整;)
(1)线性函数调节对比度亮度:
根据调节公式g(i,j) = af(i,j) + b*,在新建的图像里进行
new_image.at(y, x)[c] = saturate_cast
(0.01a(image.at(y,x)[c])+b)即可。
(2)线性测试截图:
代码
#include<opencv2/core/core.hpp>
#include<opencv2/imgcodecs.hpp>
#include<opencv2/core/saturate.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int, char** argv)
{
double alpha = 1.0; //< Simple contrast control
int beta = 0; //< Simple brightness control
Mat image = imread("D:\\picture\\leaf.jpg");
Mat new_image = Mat::zeros(image.size(), image.type());//创建新的图像
cout << "* Enter the alpha value [1.0-3.0]: "; cin >> alpha;
cout << "* Enter the beta value [0-100]: "; cin >> beta;
for (int y = 0;