opencv Mat 를 이용한 데이터 저장 (FileStorage) 사용.
- Library/opencv
- 2012. 10. 21.
Mat 를 이용한 데이터 저장 (FileStorage) 사용.
Reference
[Good Example] http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html
http://www710.univ-lyon1.fr/~eguillou/documentation/opencv2/classcv_1_1_file_storage.html
http://d.hatena.ne.jp/takmin/20100108/1262938079
https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/filestorage.cpp?rev=4032
http://opencv.jp/opencv2-x-samples/xml_yaml
http://hi.baidu.com/ktscrdjuhcgltuf/item/333cf09009c4334bf0421510
openCV 에 데이터를 저장하고 읽는 방법에 대해 xml 형태로 저장을 하고 읽어주는 함수가 있다.
(소스코드 하이라이팅은 스킨을 변경함으로써 적용이 되지 않으니, 일단 이렇게 처리함.)
파일을 저장할 때
cv::FileStorage fs1("tests.xml",cv::FileStorage::WRITE);
fs1<<"m"<< 5;
time_t rawtime;
time(&rawtime);
fs1 << "date" << asctime(localtime(&rawtime));
cout << "time = " << asctime(localtime(&rawtime)) << endl;
fs1.release();
그리고 생성된 tests.xml 의 파일 내용
<?xml version="1.0"?>
<opencv_storage>
<m>5</m>
<date>"Sun Oct 21 22:58:14 2012
"</date>
</opencv_storage>
파일을 읽을 때
- 파일을 Read 할 때에는 Mat형과 일반 변수와 조금 다르게 작동한다. ( 위에 Reference 를 찾아보도록 하자. 필요한 것만 정리)
calibration_data.yml
%YAML:1.0
camera_matrix: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 5.4878060101587482e+002, 0., 3.2379097753399617e+002, 0.,
5.5120367155250619e+002, 2.4679280040648706e+002, 0., 0., 1. ]
distortion_coefficients: !!opencv-matrix
rows: 5
cols: 1
dt: d
data: [ 7.4565943360480599e-002, -4.8930545854922253e-001,
-3.0599995688070737e-004, 6.9437524158480729e-004,
8.1491055152417369e-001 ]
imageSize: [ 640, 480 ]
Read Sources
FileStorage fs2("calibration_data.yml", FileStorage::READ );
Mat parameterK;
fs2["camera_matrix"] >> parameterK;
cout << parameterK << endl;
fs2.release();
의외로 간단하다.
'Library > opencv' 카테고리의 다른 글
IplImage or CvMat to Mat (0) | 2012.11.21 |
---|---|
opencv2.4.3 for android (win,mac, ubuntu) (0) | 2012.11.20 |
[CUDA] CUDA4.2.9 Setting with Visual studio 2010 (0) | 2012.10.16 |
opencv2.4.2, visual studio 2010 setting (0) | 2012.10.09 |
OpenCV 2.4.2 for Android (with NDK) Setting (12) | 2012.09.27 |