如何使用C++在OpenCV中更改图像亮度?
更改亮度意味着更改像素值。这意味着为每个像素的当前值添加或减去某个整数值。当您为每个像素添加某个整数值时,意味着您正在使图像更亮。当您从所有像素中减去某个常数值时,您正在降低亮度。首先,我们将学习如何增加亮度,其次我们将学习如何降低亮度。
增加亮度
使用OpenCV增加亮度非常容易。要增加亮度,请为每个通道添加一些附加值,亮度就会增加。例如,BRG图像具有三个通道:蓝色 (B)、绿色 (G) 和红色 (R)。这意味着像素的当前值将为 (B, G, R)。要增加亮度,我们必须用某个标量数将其相加,例如 (B, G, R) + (10, 10, 10) 或 (B, G, R) + (20, 20, 20),或者您想要的任何数字。
以下示例执行图像增亮 -
示例
#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
Mat original;//Declaring a matrix to load the original image//
Mat brighter;//Declaring a matrix to load the image after changing the brightness//
namedWindow("Original");//Declaring window to show the original image//
namedWindow("Brighter");//Declaring window to show the brighter image//
original = imread("bright.jpg");
brighter = original + Scalar(80, 80, 80);//adding integer value to change the brightness//
imshow("Original", original);//showing original image//
imshow("Brighter", brighter);//showing brighter image//
waitKey(0);//wait for keystroke//
return(0);
}输出

广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP