一、理论

亮度:0~255之间取大一些的值

对比度:即让R G B 分量的差值增大

二、代码演示

#include<opencv2\opencv.hpp>
#include<iostream>
#include<math.h>
using namespace cv;
using namespace std;
int main()
{Mat src = imread("E:\\vs2015\\opencvstudy\\3.jpg", 1);if (!src.data){cout << "could not load image1!" << endl;return -1;}char input_win[] = "input image";imshow(input_win, src);cvtColor(src, src, CV_BGR2GRAY);//Vec3b 到 Vec3f 的转换函数 src.convertTo()Mat m1;src.convertTo(m1, CV_32F);int height = src.rows;int width = src.cols;Mat dst = Mat::zeros(src.size(), src.type());double alpha = 0.6; //控制对比度float beta = 10;  //控制亮度for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){if (src.channels() == 3){/*int b = src.at<Vec3b>(row,col)[0];  这里直接使用Vec3f会报错。不可以强转int g = src.at<Vec3b>(row,col)[1];int r = src.at<Vec3b>(row,col)[2];*/float b = m1.at<Vec3f>(row, col)[0];float g = m1.at<Vec3f>(row, col)[1];float r = m1.at<Vec3f>(row, col)[2];dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(alpha *b + beta);dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(alpha*g + beta);dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(alpha*r + beta);}else if (src.channels() == 1){float pixel = src.at<uchar>(row, col);dst.at<uchar>(row, col) = saturate_cast<uchar>(alpha*pixel + beta);}else {cout << "ERROR" << endl;}}}char output_title[] = "contrast and brightness change demo";imshow(output_title, dst);waitKey(0);return 0;
}

opencv6-调整图像亮度和对比度相关推荐

  1. 【opencv4】opencv视频教程 C++ 7、手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)

    上一讲:[opencv4]opencv视频教程 C++ 6.图像混合.线性混合.混合权重相加addWeighted().混合加add().混合乘multiply() [opencv_C++] 入门强推 ...

  2. java 对比度_调整图像亮度、对比度、饱和度

    完整代码如下: 1.主要方法编写类 package chapter4; import java.awt.image.BufferedImage; public class BSCAdjustFilte ...

  3. OpenCV(C++)---调整图像亮度和对比度

    1.理论 图像变换可以看作如下: 像素变换 – 点操作 邻域操作 – 区域 调整图像亮度和对比度属于像素变换-点操作: 2.重要的API Mat new_image = Mat::zeros( ima ...

  4. 调整图像亮度与对比度

    文章目录 理论 代码演示 理论 图像变换可以看作如下: 像素变换 – 点操作,用在调整图像亮度和对比度等操作上. 邻域操作 – 区域,用在图像卷积.特征提取.梯度计算.模式匹配识别.角点检测.模糊.平 ...

  5. opencv中如何调整图像亮度和对比度,以及亮度和对比度调整的原理

    文章目录 1. 调整图像亮度和对比度的原理 2. python实现的一个代码如下,可以直接运行 3. 在opencv种调节图像和对比度的方法 a. opencv中的实现方法: b. 根据咱们的公式,我 ...

  6. halcon中怎么降低图像亮度_第6课-调整图像亮度和对比度

    (非原创,看课程自己做的笔记,防丢失放到个人空间的) 第6课-调整图像亮度和对比度理论 代码演示 1-理论 图像变换可以看做如下: -像素变换-点操作: -邻域操作-区域: 调整图像亮度和对比度属于像 ...

  7. 调整图像亮度和对比度

    图像变换可以看做两部分: 像素操作: 1.点操作,一般用于提升图像整体的对比度等. 2.邻域操作,一般用于空间域滤波,提取特征. 调整图像亮度和对比度属于像素变换 g(i,j)=αf(i,j)+βg\ ...

  8. 0.4-OpenCvSharp4调整图像亮度和对比度

    0.4-OpenCvSharp4调整图像亮度和对比度 图像变换: 1)像素变换 – 点操作,用在调整图像亮度和对比度等操作上. 2)邻域操作 – 区域,用在图像卷积.特征提取.梯度计算.模式匹配识别. ...

  9. opencv 调整图像亮度和对比度

    图像亮度 以灰度图像为例,图像亮度指的是图像的明暗程度,图像的像素值整体越接近于255,图像越亮,反之越接近于0,图像越暗. 图像对比度 假设灰度图像的像素值的范围为[a,b],如果b-a的值越接近于 ...

  10. 6. 调整图像亮度和对比度(OpenCV基础课程视频学习)

    课程视频链接:https://www.bilibili.com/video/av29600072?p=7 内容 理论知识 代码 1. 理论知识 图像变换可以看作如下两种: 像素变换 -- 点操作,例如 ...

最新文章

  1. Gradle入门系列(4):创建二进制发布版本
  2. xampp mysql 端口被占用_xampp安装后apache 80端口被占用的解决方法
  3. datax mysql replace_DataX-MySQL(读写)
  4. python决策树sklearn_python利用sklearn包编写决策树源代码
  5. 论文浅尝 | 知识库问答中关系检测的学习表示映射
  6. docker安装zookeeper_Docker安装Zookeeper以及Zookeeper常用命令
  7. 4月28日见!努比亚红魔3电竞手机曝光:90Hz屏幕刷新率加持
  8. 《深入浅出DPDK》读书笔记(一):基础部分知识点
  9. Greeting Card 模拟
  10. 毕业那天我们一起失恋
  11. matlab图像取反_matlab图像处理
  12. 一位工作了 10 年的 Java 高级架构师的技术之路
  13. 数据库sql对象名无效问题
  14. 论文阅读:Negative Lexically Constrained Decoding for Paraphrase Generation
  15. 四川交通职业技术学院计算机二级,明天考计算机了。
  16. vue前端生成二维码,实现扫码下载功能
  17. 使用U盘制做CentOS7.6安装盘并安装CentOS7.6系统
  18. 微信小程序杂技之---九宫格图片排版与操作
  19. 情侣空间显示服务器失败,情侣空间error是什么意思
  20. CPU Fan Error 解决:华硕主板M5A78L LE设置风扇最低转速限制

热门文章

  1. opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf
  2. mysql主键设置after_mysql如何改变主键属性
  3. unity3d 动态合批设置_Unity3D SkinnedMeshRenderer合批优化
  4. 在java中null的作用_在java中避免使用!= null有什么好处?
  5. c语言的数据类型复数型,C语言数据类型
  6. mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
  7. LeetCode算法入门- Reverse Integer-day6
  8. python连接数据库mysql错误1045、手动登录可以_登录mysql错误1045解决方法
  9. html整体引入js,html页面用js引入js的方式
  10. 高考python必考题目_假如高考考python编程,这些题目你会几个呢?