// C++ code to write an image with arbitrary type
cv::FileStorage fs_i("matrix.yml", cv::FileStorage::WRITE);
fs_i << "mat" << distance_matrix; // distance_matrix is a cv::Mat object
fs_i.release();
Python code
# Python code to write the image (OpenCV 3.2)
fs = cv2.FileStorage('matrix.yml', cv2.FILE_STORAGE_WRITE)
fs.write('mat', distance_matrix)
fs.release()
Read cv::Mat Image From File
C++ code
// C++ code to read the image
cv::FileStorage fs_o("matrix.yml", cv::FileStorage::READ);
fs_o["mat"] >> distance_matrix;
fs_o.release();