resize() 함수와 다양한 보간법을 이용하여 영상을 확대하는 예제 코드를 코드 8-4에 나타냈습니다. 코드 8-4에 나타난 affine_scale() 함수는 480×320 크기의 rose.bmp 장미 영상을 다양한 보간법으로 확대하고, 결과 영상의 일부를 화면에 출력합니다. affine_scale() 함수가 정의된 소스 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch08/affine 프로젝트에서 확인할 수 있습니다.
코드 8-4 다양한 방법에 의한 영상의 크기 변환 [ch08/affine]
01 void affine_scale() 02 { 03 Mat src = imread("rose.bmp"); 04 05 if (src.empty()) { 06 cerr << "Image load failed!" << endl; 07 return; 08 } 09 10 Mat dst1, dst2, dst3, dst4; 11 resize(src, dst1, Size(), 4, 4, INTER_NEAREST); 12 resize(src, dst2, Size(1920, 1280)); 13 resize(src, dst3, Size(1920, 1280), 0, 0, INTER_CUBIC); 14 resize(src, dst4, Size(1920, 1280), 0, 0, INTER_LANCZOS4); 15 16 imshow("src", src); 17 imshow("dst1", dst1(Rect(400, 500, 400, 400))); 18 imshow("dst2", dst2(Rect(400, 500, 400, 400))); 19 imshow("dst3", dst3(Rect(400, 500, 400, 400))); 20 imshow("dst4", dst4(Rect(400, 500, 400, 400))); 21 22 waitKey(); 23 destroyAllWindows(); 24 }