您的位置:首页 > 编程语言 > C#

C# EmguCV 修改图片对比度、亮度

2020-04-29 17:54 453 查看

C# EmguCV 修改图片对比度、亮度

1、公式

g(x) = k*f(x)+b
f(x) 原图片的像素点颜色
g(x)改变对比度后的像素点颜色
k 对比度改变系数
b 像素点增加的亮度

C# 代码实现

Mat pic = CvInvoke.Imread(path);
int k = 2;
int b = 20;
for(int i=0;i<pic.Rows;i++)
{
for(int j=0;j<pic.Cols;j++)
{
int B = (int)(k * pic.Data[i,j,0]+b);
int G = (int)(k * pic.Data[i,j,1]+b);
int R = (int)(k * pic.Data[i,j,2]+b);
}
}
当然代码中还需要对B、R、G的范围进行一下限制,通常情况下三个通道的分量值都在0-255之间,因为我这里是手敲的代码所以就省略了。
说明一下 pic.Data[i,j,0] 中 i 和 j 表示当前像素点的坐标,第三个数字是蓝绿红的索引值。

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