더북(TheBook)

코드 5-3의 brightness3() 함수를 실행해 보면 포화 연산이 추가되어 레나 영상의 밝기가 정상적으로 밝아지는 것을 확인할 수 있습니다. brightness3() 함수의 실행 결과는 앞서 OpenCV 덧셈 연산자 재정의를 사용하여 밝기를 조절한 그림 5-4와 완전히 동일합니다.

일반적으로 밝기 조절과 같은 작업을 수행할 때 코드 5-3처럼 사용자가 직접 for 루프를 돌면서 픽셀 값을 하나씩 변경하는 것보다 OpenCV에서 제공하는 덧셈 연산자 재정의를 사용하여 코드를 작성하는 것이 더욱 빠르고 간편합니다. OpenCV에서 제공하는 함수를 사용하면 CPU 최적화 및 병렬 처리를 수행하기 때문에 빠르게 동작하고, 소스 코드 가독성도 높은 편입니다. 다만 컴퓨터 비전 프로젝트를 수행하다 보면 OpenCV에서 지원하지 않는 새로운 기능을 직접 구현해야 하는 경우가 발생하기 때문에 영상의 픽셀 값을 직접 참조하고 변경하는 방법은 반드시 기억하고 있어야 합니다. 더불어 포화 연산을 위한 saturate_cast() 함수 사용법도 숙지해 두기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.