通过重新计算颜色分量,可以修改图像的亮度和对比度。
graph(x,y) = graph_src(x,y) * alpha + beta
#define alpha 1.2
#define beta 20
inline uchar brighten(uchar b)
{
return saturate_cast<uchar>(b*alpha + beta);
}
for (int r = 0; r < height; r++) // 遍历行
{
for (int c = 0; c < witdh; c++) // 遍历列
{
Vec3b v = srcImg1.at<Vec3b>(r,c);
v[0] = brighten(v[0]); // Blue
v[1] = brighten(v[1]);// Green
v[2] = brighten(v[2]);// Red
brightenImg.at<Vec3b>(r, c) = v;
}
}
本文源代码在Debug – x64下编译运行。