下面是效果展示图:

下面是代码展示:

 1 #include<iostream>
 2 #include<opencv.hpp>
 3
 4 using namespace std;
 5 using namespace cv;
 6
 7 int main()
 8 {
 9
10     Mat sou;
11     sou = imread("C:\\Users\\32829\\Desktop\\aa.jpg");
12     if (!sou.data)
13     {
14         cout << "图像载入失败" << endl;
15     }
16     namedWindow("old");
17     imshow("old", sou);
18
19     Mat dst;
20     //定义一张空的图片
21     dst = Mat::zeros(sou.size(), sou.type());
22     int height = sou.rows;//图片的高度
23     int weight = sou.cols;//图片的宽度
24     float alpha = 1.2;//自己设置的亮度的那个a
25     float beta = 30;//增量
26     for (int row = 0; row <( height); row++)
27     {
28         for ( int col = 0; col <( weight); col++)
29         {
30             //一通道直接就是修改就行了
31             if (sou.channels() == 1)
32             {
33                 int v = sou.at<uchar>(row, col);
34                 dst.at<uchar>(row, col) = saturate_cast<uchar>(v*alpha + beta);
35
36             }
37             if (sou.channels() == 3)
38             {
39                 //三通道,先获得他的每个通道的数值,然后再修改,赋给新的图片
40                 float b = (sou.at<Vec3b>(row, col)[0]);
41                 float g = (sou.at<Vec3b>(row, col)[1]);
42                 float r = (sou.at<Vec3b>(row, col)[2]);
43                 dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(b * alpha + beta);
44                 dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar> (g * alpha + beta);
45                 dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar> (r * alpha + beta);
46             }
47         }
48     }
49
50     namedWindow("new1");
51     imshow("new1", dst);
52
53
54
55
56
57
58
59
60
61
62     waitKey(0);
63
64
65
66
67     return 1;
68 }

但是之前用Vec3f。发生问题,但是添加一个函数就可以了,看来得转换一下,因为图片一个像素都是用一个字节来表示的;

===========================================================================

基础知识总结

===============================================================================

=======================================================================

===================================================================

转载于:https://www.cnblogs.com/xiaoyoucai/p/10180319.html

(9)调整图像的亮度和对比度相关推荐

  1. 【opencv4.3.0教程】13之调整图像的亮度与对比度

    目录 前言 一.亮度与对比度 1.什么是亮度和对比度 2.亮度和对比度调整原理 3.亮度和对比度调整代码实现 4.API-convertScaleAbs 二.伽马校正 1.伽马校正引入 2.伽马校正原 ...

  2. Android OpenCV之算数操作与调整图像的亮度和对比度

    Android OpenCV之算数操作与调整图像的亮度和对比度 OpenCV算数API介绍 Mat 对象之间的加.减.乘.除最常用的方法如下: add(Mat src1, Mat src2, Mat ...

  3. 如何在电脑上调整图像的亮度与对比度?多张图片怎么调整?

    喜欢摄影的小伙伴都知道,一张照片的展示与摄影师的拍照技术有很大关系.如果拍出来的照片太亮或者太暗,色差大都是不合格的.平时一张生活照可以用手机自带调整功能进行处理了.如果需要对多张图片调整亮度对比度, ...

  4. 调整图像的亮度和对比度

    简单原理: 为输出图像,为输入图像.其中用于调节对比度,增益用于调节亮度 实现代码: #include<opencv2/opencv.hpp> #include<iostream&g ...

  5. Opencv图像的亮度和对比度调整

    文章目录 前言 一.图像亮度和对比度的基本概念: 1.图像亮度: 2.图像对比度: 二.RGB三通道色彩空间的图像变换: 1.线性变换公式如下: 2.操作简介: 3.图像亮度调整: 4.图像对比度调整 ...

  6. OpenCV调整图像的亮度

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

  7. python图像处理库ImageEnhance实现图像的亮度、对比度、色度和锐度四种方式增强

    python中PIL模块中有一个叫做ImageEnhance的类,该类专门用于图像的增强处理,可以实现图像的亮度.对比度.色度和锐度四种方式的增强(或减弱)处理. 具体见下面的例子: # -*- co ...

  8. 计算机显示屏对比度怎么调整,显示器的亮度和对比度多少合适?显示器亮度对比度调多少眼睛舒服?...

    液晶显示器是是台式电脑必不可少的显示设备,我们在玩游戏.办公的时候必须要面对显示器,如果显示器没有调整为合适的对比度和亮度,那么会伤害眼睛,对用户的视力会有一定的影响,造成眼疲劳,显示器的亮度和对比度 ...

  9. 图像的亮度和对比度区别

    对比度:是画面黑与白的比值,也就是从黑到白的渐变层次.比值越大,从黑到白的渐变层次就越多,从而色彩表现越丰富. 对比度对视觉效果的影响非常关键,一般来说对比度越大,图像越清晰醒目,色彩也越鲜明艳丽:而 ...

最新文章

  1. Linux0.00内核为什么要自己设置0x80号陷阱门来调用write_char过程?
  2. r语言 断轴 画图_R 绘图 – 函数曲线图 | 菜鸟教程
  3. Matlab | 数字信号处理:Matlab语言的基本使用方法(matlab代码版)
  4. 轻松理解Spring框架的基本思想
  5. 通信原理 —— 绪论
  6. 简化document.createElement(div)动态生成层方法
  7. 大数据建模步骤有哪些
  8. ZOJ 3229 有上下界最大流
  9. baymax平台导入任务错误日志报错: Please login with USER and PASS.
  10. 交叉编译工具链下载地址
  11. 显示器固件测试软件,【安全工具】固件可视化分析-工具篇
  12. ECMAScript相关知识介绍
  13. 解密国内BAT等大厂前端技术体系-腾讯篇(长文建议收藏)
  14. 网络流初步:最大流(Dinic算法)
  15. 微信小程序实现电子签名并导出图片
  16. vue实现中根据字母或者中文进行排序
  17. 云渲染解决方案,CPU渲染,GPU渲染
  18. Android实现下载文件(图片)显示进度
  19. types是什么意思中文翻译成_types英语_types什么意思_types用法翻译_types英语读音_解释 - 英语宝典...
  20. oracle amm和asmm,AMM与ASMM

热门文章

  1. WIN7下查看DirectX版本方法
  2. ae 2019 mac16.1.1 中文直装版——After Effects CC 2019 for Mac
  3. 华为荣耀平板2_荣耀平板2和荣耀x2哪个值得买?华为荣耀平板2和荣耀x2详细区别对比评测...
  4. Linux安装人大金仓v7,人大金仓kingbaseV7 windows环境下安装
  5. pymysql使用_使用pymysql的AWS Lambda与RDS
  6. 内大-oj练习题(1期)
  7. 小马识途分享创建品牌百科的流程和技巧
  8. ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 Kaki的博客
  9. VR普及成视频主流,TSINGSEE青犀视频云服务将从EasyPlayer.js播放器支持VR播放启动VR研发
  10. spring和jump区别_Hop 及jump 的区别