您的位置:首页 > 其它

改变图像的对比度和亮度

2017-12-31 00:14 281 查看
图像的对比度根据alpha改变,亮度根据beta改变。公式如下:

F(x)=f(x)*alpha+beta
代码如下:
int main()
{
Mat src = imread("shelock.jpg");
double alpha;
int beta;
printf("please input alpha and beta\n");
cin >> alpha >> beta;
Mat outsrc = Mat::zeros(src.size(), src.type());
for (int i = 0; i < src.rows; i++)
for (int j = 0; j < src.cols; j++)
for (int c = 0; c < 3; c++)
{
outsrc.at<Vec3b>(i, j)[c] = saturate_cast<uchar>(alpha*src.at<Vec3b>(i, j)[c] + beta);
}

imshow("original", src);
imshow("after deal", outsrc);
imwrite("shelock1.jpg", outsrc);

waitKey(0);
return 0;
}原图如下:



处理之后图像如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息