Guardar y cargar ficheros en OpenCV

Aquí os dejo un ejemplo que he creado sencillo y entendible para entender cómo se trabaja con ficheros en OpenCV. El formato que trabaja es YAML y aquí se guarda un número y una matriz y después se carga:


#include 

int main()
{
    int numberInput = 10;
    int numberOutput;

    cv::Mat matrixInput(5, 5, CV_8UC1, cv::Scalar(3));
    cv::Mat matrixOutput;

    cv::FileStorage storageWrite("test.yml", cv::FileStorage::WRITE);
    storageWrite << "matrix" << matrixInput;
    storageWrite << "number" << numberInput;
    storageWrite.release();

    cv::FileStorage storageRead("test.yml", cv::FileStorage::READ);
    storageRead["matrix"] >> matrixOutput;
    storageRead["number"] >> numberOutput;
    storageRead.release();

    return 0;
}