## FileStorage module (YML)

One of the most useful things OpenCV has is YML file library. I canno't believe have easy to use they are. Before I learned this, I was making complicated algorithms and writing array of data like detected keypoints or descriptrs in "txt" file. But there is much simpler solution...

It's pretty straight forward how to use the FileStorage module in OpenCV, I don't think after showing the code snippets I need to explain anything.

Maybe if you don't know the concept of yml or xml files you should go here: http://en.wikipedia.org/wiki/YAML

Ok let's get down to bussiness!

To write array of data into yml file:

fileString = "keypoints.yml";
cv::FileStorage fs(fileString, cv::FileStorage::WRITE);

write(fs,"keyPointsSURF", keypointsSURF);
fs.release()

And to access the data you do it like this:

fs.open("keypoints.yml", FileStorage::READ);
if(fs.isOpened())
{
}
fs.release();

Just a note:

The "read" command can be swapped with these lines, I personally prefer the "read" method

fs["descriptorsSURF"] >> descriptorsSURF;
fs["keyPointsSURF"] >> keypointsSURF;

### Related Articles

• #### Implementing pulse oximeter using MAX30100

Mar 8, 2017 | by Raivis Strogonovs
• #### nRF51 Makefile with Qt Creator

Jun 4, 2016 | by Raivis Strogonovs
• #### USART, FreeRTOS and C++ on nRF51

Dec 14, 2015 | by Raivis Strogonovs
• #### Starting with nRF51 BLE and Qt Creator

Dec 12, 2015 | by Raivis Strogonovs
• #### Touch gesture recognition using body capacitance

Nov 29, 2014 | by Raivis Strogonovs
• #### Introduction to data encryption

Oct 4, 2014 | by Raivis Strogonovs
• #### MEMS (Part 2) – Guide to using gyroscope L3G4200D

Jun 17, 2014 | by Raivis Strogonovs
• #### obiwan in Implementing pulse oximeter using MAX30100

Also, I think constantly balancing the LED intensities is problematic, because the absorbances of hemoglobin at different wavelengths should be different. I think balancing should happen once against a neutral background.

#### obiwan in Implementing pulse oximeter using MAX30100

Great work! I'm using this as a basis for a lab and it's working great. One note: I think you're SpO2 calculation is missing the wavelength parameters? Correct me if I'm wrong.

#### Harish in Implementing pulse oximeter using MAX30100

The easiest way to monitor your heart beat & oxygen saturation & temperature with Pulse Oximeter

#### Luis in Simple library for driving 20x4 LCD with 4bits

Useful. its very simple and well explained. I used this for implementing in Java easily... Thankyou

#### janam in Complete guide using SURF feature detector

hello, I have used your code, but i am having the link error in SURF detector. Can anyone resolve it for me?  Below is the error. Error    2    error LNK2019:...

#### Felipe Moura in Implementing pulse oximeter using MAX30100

Raivis Strogonovs,   Congratulations for your very nice work and explanation! How many time do you put in this project ?

#### Jean-Paul Caruana in Complete guide using SURF feature detector

Hi sir, I'm tring to do the same as you (re-writing it in c#) however im finding a problem what to use when it comes to perspectiveTransform( obj_corners, scene_corners,...