• 1~3행 4.4.3절에서 설명할 readData() 함수에서 함께 사용하기 위하여 데이터 파일 이름을 전역 변수로 선언하였습니다.
• 7~11행 파일에 저장할 데이터 변수를 선언합니다.
• 13행 FileStorage 객체를 쓰기 모드로 생성합니다.
• 20~24행 << 연산자를 이용하여 준비한 데이터를 파일에 저장합니다.
• 26행 데이터 저장이 끝나면 파일을 닫습니다.
코드 4-14의 writeData() 함수를 실행하면 프로그램 실행 폴더에 mydata.json 파일이 생성됩니다. 그림 4-11은 실제로 writeData() 함수에 의해 생성된 mydata.json 파일의 내용입니다. mydata.json 파일에는 JSON 문법을 이용하여 각각의 데이터가 저장되어 있으며, 각 데이터는 이름과 값이 콜론(:)으로 구분되어 있습니다. 문자열과 정수형 데이터는 하나의 값 형태로 저장되고, Point 자료형과 vector<int> 형식의 데이터는 [] 대괄호를 이용한 JSON 배열 형태로 저장됩니다. Mat 클래스 데이터는 {} 중괄호를 이용하는 JSON 객체 형식으로 저장됩니다.
▲ 그림 4-11 mydata.json 파일 내용