만약 영상을 전체적으로 어둡게 만들고 싶다면 덧셈 대신 뺄셈 연산자를 사용하면 됩니다. 다음은 입력 영상 src보다 픽셀 값이 100만큼 어두운 결과 영상 dst를 생성하는 코드입니다.
Mat dst = src - 100;
만약 영상의 밝기 조절 결과를 dst 같은 새로운 영상에 저장하는 것이 아니라 자기 자신에게 저장하려면 += 연산자 재정의를 사용할 수 있습니다. 다음은 img에 저장된 레나 영상 밝기를 100만큼 증가시키는 예제 코드입니다.
Mat img = imread("lenna.bmp", IMREAD_GRAYSCALE); img += 100;
Note
영상의 밝기를 조절하기 위해 덧셈/뺄셈 연산자 재정의를 이용하는 방법 외에 명시적으로 행렬의 덧셈 또는 뺄셈 함수를 사용할 수 있습니다. OpenCV는 행렬의 덧셈과 뺄셈을 수행하는 add() 함수와 subtract() 함수를 제공합니다. 만약 add() 함수를 사용하여 레나 영상의 밝기를 100만큼 증가시키려면 다음과 같이 코드를 작성합니다.
Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE); Mat dst; add(src, 100, dst);
이와 같이 add() 함수를 이용하는 방법과 코드 5-1의 10행처럼 덧셈 연산자를 이용하는 방법의 실행 결과는 완전히 같습니다. add() 함수와 subtract() 함수에 대해서는 6.1절에서 자세히 설명하겠습니다.