【小白】Open-CV 学习笔记 - 5.4 图像对比度、亮度值调整

本文介绍了图像处理中常见的点操作——对比度和亮度调整。通过乘以增益(a)和加上偏置(b)实现,其中增益控制对比度,偏置控制亮度。代码示例中展示了如何访问像素并应用这些调整,确保结果在有效范围内。通过调整参数,可以实现300个不同对比度和亮度级别的变化,适用于实际的图像增强需求。
摘要由CSDN通过智能技术生成

理论依据

首先了解一下算子的概念。一般的图像处理算子都是一个函数,它接受一个或多个输入图像,并产生输出图像。下面是算子的一般形式:
在这里插入图片描述
或者
在这里插入图片描述

图像亮度和对比度的次奥做属于图像变换中比较简单的点操作(pointoprators)。点操作有一个特点:仅仅根据输入像素值(有时会加上某些全局信息或参数),来计算相应的输出像素值。这类算子包括亮度(brightness)和对比度(contrast)调整、颜色校正(colorcorrection)和变换(transformations)。

两种常用的点操作(点算子):(1)乘上一个常数(对应对比度的调节);(2)加上一个常数(对应亮度值的调节)。对应公式如下:

参数说明:

  • 参数f(x)表示源图像像素
  • 参数g(x)表示输出图像像素
  • 参数a称为增益(gain),常被用来控制图像的对比度,要求大于0。
  • 参数b称为偏置(bias),常用来控制图像的亮度

访问图片中的像素

以下是访问像素的代码,使用了三个for循环:

//三个for循环,执行计算new_image(i,j)=a*image(i,j)+b
for(int y=0; y < image.rows; ++y){
   
    for(int x=0; x < image.cols; ++x){
   
        for(int c=0; c<3; ++c){
   
            new_image.at<Vec3b>(y,x)[c]=saturate_cast<uchar>((g_nContrastValue*0.01)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值