亮度和对比度的调整原理

 公式原理: new_image = a*image + beta 即 

g(x)=αf(x)+β

  其中,α>0 , β 通常被称为 gain 或者 bias 参数,通常这两个参数可以独立的分别控制图像的对比度和亮度。

  f(x) 为原图像的像素值,g(x) 为输出图像的像素值。比较直白的表达式为:

g(i,j)=α⋅f(i,j)+β

 其中 i 和 j 表示位于图像的第 i 行和第 j 列.

  

一下代码执行的公式为: g(i,j)=α⋅f(i,j)+β

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
double alpha; /*< Simple contrast control */
int beta;  /*< Simple brightness control */
int main( int argc, char** argv )
{Mat image = imread( argv[1] );Mat new_image = Mat::zeros( image.size(), image.type() );std::cout<<" Basic Linear Transforms "<<std::endl;std::cout<<"-------------------------"<<std::endl;std::cout<<"* Enter the alpha value [1.0-3.0]: ";std::cin>>alpha;std::cout<<"* Enter the beta value [0-100]: "; std::cin>>beta;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>( alpha*( image.at<Vec3b>(y,x)[c] ) + beta );}}}namedWindow("Original Image", 1);namedWindow("New Image", 1);imshow("Original Image", image);imshow("New Image", new_image);waitKey();return 0;
}

结果

  • 运行代码的参数:α=2.2 , β=50

    $ ./BasicLinearTransforms lena.jpg
    Basic Linear Transforms
    -------------------------
    * Enter the alpha value [1.0-3.0]: 2.2
    * Enter the beta value [0-100]: 50

  • 结果如下:

基于OpenCV调整图像的对比度和亮度相关推荐

  1. OpenCV改变图像的对比度和亮度

    OpenCV改变图像的对比度和亮度 改变图像的对比度和亮度 目标 理论 图像处理 像素变换 亮度和对比度调整 代码 解释 结果 改变图像的对比度和亮度 目标 在本教程中,您将学习如何: 访问像素值 用 ...

  2. 独家|OpenCV 1.6 改变图像的对比度和亮度!

    翻译:陈之炎 校对:吴金迪本文约2500字,建议阅读5分钟本文为大家介绍了OpenCV改变图像的对比度和亮度. 目标 在本教程中, 你将学习到以下内容: 访问像素值; 用零初始化矩阵; 学习CV :: ...

  3. 改变图像的对比度和亮度

    调整图像的对比度和亮度(通过线性方法) 一提到线性方法我们第一时间应该会联想到:二元一次方程 这里openCV介绍的一个函数方法就是利用二元一次方程线性修改图像中的像素值 这种算子能够调整图片亮度和对 ...

  4. Chapter_06 更改图像的对比度和亮度

    文章目录 一. 本章目标 ① 目标 ② 理论 ③ 代码 二. 实例 ① 亮度和对比度调整 ② 伽马校正 ③ 纠正曝光不足的图像 三. 图形渲染中的伽马校正(附加资源) 一. 本章目标 ① 目标 本教程 ...

  5. OpenCV学习:改变图像的对比度和亮度

    本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bi ...

  6. OpenCV调整图像的亮度

    OpenCV调整图像的亮度 像素越靠近0图像越按,越靠近255,图像越亮,所以调整图片的亮度也就是调整每个像素点数值的大小. 原图 代码 public class DemoMat {static{Sy ...

  7. OpenCV学习笔记之改变图像的对比度和亮度

    一.图像对比度和亮度 图像对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小.差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就 ...

  8. Python基于OpenCV的图像去雾算法[完整源码&部署教程]

    1.图片识别 2.视频展示 [项目分享]Python基于OpenCV的图像去雾算法[完整源码&部署教程]_哔哩哔哩_bilibili 3.算法原理 图像增强算法常见于对图像的亮度.对比度.饱和 ...

  9. 基于OpenCV实现图像线性变化

    基础知识: 线性灰度变换函数f(x)是一个一维线性函数 y=f(x)=ax+b 式中:a为线性函数的斜率,b为线性函数在y轴的截距,x表示输入图像的灰度值,y表示输出图像的灰度值. (1) 当a> ...

最新文章

  1. 如何向亲戚们解释人工智能可以干啥?
  2. JSP简单练习-数组应用实例
  3. mysql命令行安装报错_centos命令行安装mysql随机密码查看方法(遇到问题及其解决办法)...
  4. 生鲜水产品牌“仙泉湖”获和智4000万元投资
  5. BluePrism初尝2
  6. LeetCode MySQL 1159. 市场分析 II(rank+over)
  7. mo汇编指令_汇编指令大全
  8. 第62课 捉迷藏 《小学生C++趣味编程》
  9. python字符宽度_Python计算字符宽度的方法
  10. pyqt5多线程使用方法及学习案例(QThread)
  11. c语言中数字符的知识点,2019年全国计算机二级C语言必背知识点总结
  12. cf 1183B equalize prices
  13. 系统管理服务器名,服务器管理系统排名
  14. 常见的常微分方程的一般解法
  15. 少儿编程scratch -- 提高篇
  16. 写作的意义,从一枚勋章开始
  17. 页游安全攻与防(转)
  18. 前端实现在线预览、编辑Office文档(vue版)
  19. 【深度学习】CLM-framework开源代码
  20. [国嵌攻略][054][NandFlash驱动设计_写]

热门文章

  1. ASP.NET弹出一个对话框
  2. 职业生涯又一个转折点
  3. cv::inRange的作用,注意它的区间是闭区间,而不是开区间...
  4. android mapbox 添加多个点,使用Android Mapbox SDK显示多个标记的自定义infoWindow
  5. matlab教程lqg函数与收敛速度,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...
  6. k8s中几种port介绍
  7. c# 获取cad文档的路径_C# 打开以对话框,获取文件夹路径 、文件的路径、文件名...
  8. 新手理解的JS原型链
  9. Osmocom-BB 相关资源、知识分享
  10. 存储--盘古_阿里云飞天分布式存储系统设计深度解析