图像对比度、亮度值调整

 1 #include<opencv2/opencv.hpp>
 2 #include<iostream>
 3
 4 using namespace std;
 5 using namespace cv;
 6
 7 static void on_ContrastAndBright(int, void *);
 8 static void ShowHelpText();
 9
10 int g_nContrastValue;   //对比度值
11 int g_nBrightValue;    //亮度值
12 Mat g_srcImage, g_dstImage;
13
14 int main() {
15     //读取输入图像
16     g_srcImage = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\05.jpg");
17     g_dstImage = Mat::zeros(g_srcImage.size(), g_srcImage.type());
18
19     //设定对比度和亮的初值
20     g_nContrastValue = 80;
21     g_nBrightValue = 80;
22
23
24
25     //窗口
26     namedWindow("【效果图】", 1);
27
28     //创建滑块
29     createTrackbar("对比度:", "【效果图】", &g_nContrastValue, 300, on_ContrastAndBright);
30     createTrackbar("亮  度:", "【效果图】", &g_nBrightValue, 200, on_ContrastAndBright);
31
32     //进行回调函数的初始化
33     on_ContrastAndBright(g_nContrastValue, 0);
34     on_ContrastAndBright(g_nBrightValue, 0);
35
36     waitKey();
37     return  0;
38 }
39
40 static void on_ContrastAndBright(int, void *) {
41     //创建窗口
42     namedWindow("【原始图窗口】", 1);
43     //三个for循环,执行运算g_dstImage(i,j) = a*g_srcImage(i,j) +b
44     for (int y = 0; y < g_srcImage.rows; y++) {
45         for (int x = 0; x < g_srcImage.cols; x++) {
46             for (int c = 0; c < 3; c++) {
47                 g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue);
48             }
49         }
50     }
51
52     //显示图像
53     imshow("【原始图窗口】", g_srcImage);
54     imshow("【效果图】", g_dstImage);
55 }

时间: 2024-11-04 20:39:13

图像对比度、亮度值调整的相关文章

【opencv入门之四】Trackbar、图像对比度、亮度值调整

参考网站: http://blog.csdn.net/poem_qianmo/article/details/21479533 1.轨迹条(Trackbar) createTrackbar函数(创建轨迹条) 注意:它会和一个回调函数配合使用 C++: int createTrackbar(conststring& trackbarname, conststring& winname, int* value, int count, TrackbarCallback onChange=0, v

学习 opencv---(5) 创建Trackbar(活动条) &amp;图像对比度,亮度值调整

学习如何在opencv 中用trackbar 函数创建和使用 轨迹条,以及图像对比度,亮度值的动态调整 一.OpenCV中轨迹条(Trackbar)的创建和使用 [1]创建轨迹条-----createTrackbar 函数详解 createTrackbar这个函数我们以后会经常用到,它创建一个可以调整的轨迹条,并将轨迹条附加到指定的窗口上,使用起来方便,首先,它往往会和一个回调函数 配合起来使用,先看它的函数原型: 1 int createTrackbar(conststring &tracke

【OpenCV入门教程之六】 创建Trackbar &amp; 图像对比度、亮度值调整(转)

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/21479533 作者:毛星云(浅墨)    邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本: 2.4.8 这篇文章中我们一起学习了如何在OpenCV中用createTrackbar函数创建和使用轨迹条,以及图像对比度.亮度值的动态调整. 文章首先详细讲解了OpenCV2.0中的新版创建轨迹条的函数c

opencv ,亮度调整【【OpenCV入门教程之六】 创建Trackbar &amp; 图像对比度、亮度值调整

http://blog.csdn.net/poem_qianmo/article/details/21479533 [OpenCV入门教程之六] 创建Trackbar & 图像对比度.亮度值调整 标签: opencvvs2010c++图像处理 2014-03-18 21:43 43189人阅读 评论(99) 收藏 举报  分类: [OpenCV](18)  目录(?)[+] 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qian

Photoshop脚本 &gt; 图像的亮度和对比度

源自:http://coolketang.com/tutorials/menu3lesson1.php 本节将演示如何使用脚本,调整图像的亮度和对比度.首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 接着输入脚本代码: //定义一个变量[layer],用来表示Photoshop当前文档的当前图层. var layer = app.activeDocument.activeLayer; //定义一个变量[brightness],用来表示修

图像对比度和亮度

图像亮度通俗理解便是图像的明暗程度,数字图像 f(x,y) = i(x,y) r(x, y) ,如果灰度值在[0,255]之间,则 f 值越接近0亮度越低,f 值越接近255亮度越高.而且我们也要把亮度和对比度区分开来,正如上述提的对比度指的是最高和最低灰度级之间的灰度差. 饱和度指的是图像颜色种类的多少, 上面提到图像的灰度级是[Lmin,Lmax],则在Lmin.Lmax 的中间值越多,便代表图像的颜色种类多,饱和度也就更高,外观上看起来图像会更鲜艳,调整饱和度可以修正过度曝光或者未充分曝光

图像对比度调整的simulink仿真总结

图像对比度调整可以由一个模块contrast adjustment 完成,参数有输入范围和输出范围,计算过程由以下公式决定 解释一下,当input<=low_in的时候输出的值是low_out+low_out;当low_in<input<high_in的时候输出的是low_out+;当input>high_in的时候输出的是low_out+high_out; 根据这个原理,做出了自己的simulink模块,如下 我用的图片是640*1024的,所以采样之后首先reshape成1维的

OpenCV笔记(四)——两幅图像线性混合、改变图像的亮度和对比度

一.两幅图像线性混合 线性混合,就是g(x) = a*f1(x) + b*f2(x).其中g为输出,f1.f2为输入.a+b=1. 作用1:线性混合可以用于去噪,假设噪声的产生符合均值为零.标准差的独立分布.多个高斯分布求平均值,即可去除噪声. 作用2:用于两张图片的切换.a从大到小变化,b从小到大变化.g就渐渐从f1变到f2. OpenCV提供了addWeighted函数,完成上述功能: C++: void addWeighted(InputArray src1, double alpha,

Opencv图像识别从零到精通(9)----对比度亮度改变

一张图像来说,会有不同的亮暗程度,很多时候都要增强一下,增强的方法有很多,从大量可以说是线性变换和非线性变换,当然这是说空间域的,频率域的暂时不考虑. 线性变换增强,也是对点的操作,如下图 一.点操作,线性增强 两种常用的点过程(即点算子),是用常数对点进行 乘法 和 加法 运算: 两个参数  和  一般称作 增益 和 偏置 参数.我们往往用这两个参数来分别控制 对比度 和 亮度 . 你可以把  看成源图像像素,把  看成输出图像像素.这样一来,上面的式子就能写得更清楚些: 其中,  和  表示