adaptiveThreshold() 함수는 각 픽셀 주변의 blockSize×blockSize 영역에서 평균을 구하고, 평균에서 상수 C를 뺀 값을 해당 픽셀의 임계값으로 사용합니다. 이때 블록 영역의 평균을 구하는 방식은 adaptiveMethod 인자를 통해 설정할 수 있습니다. adaptiveMethod 인자에 ADAPTIVE_THRESH_MEAN_C를 지정하면 blockSize×blockSize 크기의 주변 영역 픽셀로부터 산술 평균을 구합니다. adaptiveMethod 인자에 ADAPTIVE_THRESH_GAUSSIAN_C를 지정하면 각 픽셀 주변에 blockSize×blockSize 크기의 가우시안 마스크를 적용하여 가우시안 가중 평균을 계산합니다.
adaptiveThreshold() 함수를 이용하여 적응형 이진화를 수행하는 예제 프로그램 소스 코드를 코드 11-2에 나타냈습니다. 코드 11-2는 영상 출력 창에 0~200 사이의 정수를 선택할 수 있는 트랙바를 생성하고, 사용자가 설정한 트랙바 위치 값을 블록의 크기로 사용하는 적응형 이진화를 수행합니다. 코드 11-2에 나타난 소스 코드 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch11/adaptive 프로젝트에서 확인할 수 있습니다.