Computer >> Máy Tính >  >> Lập trình >> C ++

Làm cách nào để giảm độ sáng của hình ảnh trong OpenCV bằng C ++?

Cách giảm độ sáng rất giống với cách tăng độ sáng. Sự khác biệt duy nhất là trừ 'Scalar (B, G, R)' khỏi hình ảnh. Ở đây, chúng tôi đang trừ giá trị vô hướng để giảm độ sáng.

Chương trình sau đây cho biết cách giảm độ sáng của hình ảnh trong OpenCV.

Ví dụ

#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 dimmer;//Declaring a matrix to load the image after changing the brightness//
   namedWindow("Original");//Declaring window to show the original image//
   namedWindow("Dimmer");//Declaring window to show the brighter image//
   original = imread("bright.jpg");
   dimmer = original - Scalar(80, 80, 80);//subtracting integer value to change the brightness//
   imshow("Original", original);//showing original image//
   imshow("Dimmer", dimmer);//showing brighter image//
   waitKey(0);//wait for keystroke//
   return(0);
}

Đầu ra

Làm cách nào để giảm độ sáng của hình ảnh trong OpenCV bằng C ++?