더북(TheBook)

Mat 객체에 저장되어 있는 영상 데이터를 파일로 저장하기 위해서는 imwrite() 함수를 사용합니다. imwrite() 함수 원형은 다음과 같습니다.

bool imwrite(const String& filename, InputArray img,
             const std::vector<int>& params = std::vector<int>());

filename

저장할 영상 파일 이름

img

저장할 영상 데이터(Mat 객체)

params

저장할 영상 파일 형식에 의존적인 파라미터(플래그 & 값) 쌍

(paramId_1, paramValue_1, paramId_2, paramValue_2, ... .)

반환값

정상적으로 저장하면 true, 실패하면 false를 반환합니다.

 

imwrite() 함수는 img 변수에 저장되어 있는 영상 데이터를 filename 이름의 파일로 저장합니다. 영상 파일 형식은 filename 문자열에 포함된 파일 확장자에 의해 결정됩니다. params 인자에는 저장할 파일 형식에 의존적인 별도의 옵션을 지정할 수 있습니다. params 인자의 형식은 std::vector<int> 타입으로 지정하며, 옵션 플래그와 실제 값을 정수 값 두 개의 쌍으로 지정해야 합니다. 예를 들어 img 변수에 저장된 영상을 lenna.jpg 파일로 저장할 때 JPEG 압축률을 95%로 지정하고 싶다면 다음과 같이 코드를 작성합니다.

vector<int> params;
params.push_back(IMWRITE_JPEG_QUALITY);
params.push_back(95);
imwrite("lenna.jpg", img, params);

앞 코드에서 IMWRITE_JPEG_QUALITY 플래그가 JPEG 압축률을 나타내는 옵션 플래그입니다. imwrite() 함수의 params 인자에 사용할 수 있는 전체 옵션 플래그는 OpenCV 문서 사이트를 참고하기 바랍니다.

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