해당 포스팅은 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;
}