더북(TheBook)

resize() 함수는 src 입력 영상을 dsize 크기로 확대 또는 축소한 dst 영상을 생성합니다. 결과 영상의 크기는 dsize 인자를 통해 명시적으로 지정할 수도 있고, 또는 가로 방향 및 세로 방향으로의 크기 변환 비율인 fxfy 값을 통해 결정되도록 할 수 있습니다. 만약 결과 영상의 크기를 픽셀 단위로 지정하여 크기 변환을 수행하려면 dsize에 0이 아닌 값을 지정하고, fxfy는 0으로 설정합니다. 만약 입력 영상 크기를 기준으로 크기 변환 비율을 지정하여 영상을 확대 또는 축소하려면 dsize 인자에는 Size()를 지정하고 fxfy에는 0이 아닌 양의 실수를 지정합니다. 이 경우 결과 영상의 크기는 다음과 같이 결정됩니다.

resize() 함수의 여섯 번째 인자 interpolation에는 보간법(interpolation) 알고리즘을 나타내는 InterpolationFlags 열거형 상수를 지정합니다. 보간법은 결과 영상의 픽셀 값을 결정하기 위해 입력 영상에서 주변 픽셀 값을 이용하는 방식을 의미하며, resize() 함수에서는 표 8-1에 나타난 보간법 알고리즘을 사용할 수 있습니다. INTER_NEAREST 방법은 가장 빠르게 동작하지만 결과 영상 화질이 좋지 않습니다. INTER_LINEAR 방법은 연산 속도가 빠르고 화질도 충분히 좋은 편이라서 널리 사용되고 있고, resize() 함수에서 기본값으로 지정되어 있습니다. INTER_LINEAR 방법보다 더 좋은 화질을 원한다면 INTER_CUBIC 또는 INTER_LANCZOS4 상수를 사용하는 것이 좋습니다. 영상을 축소하는 경우 INTER_AREA 방법을 사용하면 무아레(moiré) 현상이 적게 발생하며 화질 면에서 유리합니다.

▼ 표 8-1 보간법 지정 InterpolationFlags 열거형 상수

InterpolationFlags 열거형 상수

설명

INTER_NEAREST

최근방 이웃 보간법

INTER_LINEAR

양선형 보간법

INTER_CUBIC

3차 보간법

INTER_AREA

픽셀 영역 리샘플링

INTER_LANCZOS4

8×8 이웃 픽셀을 사용하는 란초스(Lanczos) 보간법

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