해당 포스팅은 OpenCV 4로 배우는 컴퓨터 비전과 머신러닝 (황선규 저)를 보고 공부하며 개인적인 용도를 위해 정리한 글이다.
파일 입출력
uchar를 사용하는 이미지 뿐만 아니라int,double등을 사용하는 일반 배열의 행렬도 저장 가능히디.json형식의 파일도 저장 가능하다.cv::FileStorage함수로 변수 선언한다.cv::FileStorage함수의flag로 파일을 읽을 것인지 쓸 것인지를 지정한디.flag에는cv::FileStorage::READ와cv::FileStorage::WRITHE가 있다.
- 파일을 읽고 쓰고 난 다음에는 항상
release()함수를 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "opencv2/opencv.hpp"
#include <iostream>
#include <string>
int main(void)
{
cv::FileStorage fs("./path/to/read/file.json", cv::FileStorage::READ);
std::string name;
fs["name"] >> name; // >> 연산자로 파일에 저장
fs.release();
cv::FileStorage fs2("./path/top/write/file.json", cv::FileStorage::WRITE);
fs2 << "name" << "different name";
fs2 << "birth" << 30; // birth 라는 키를 추가하고 30 이라는 밸류 삽입
fs2.release();
return 0;
}