Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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);
}

출력

C++를 사용하여 OpenCV에서 이미지의 밝기를 변경하는 방법은 무엇입니까?