Using pure OpenCV API calls:
// Declare what you need
cv::FileStorage file("some_name.ext", cv::FileStorage::WRITE);
cv::Mat someMatrixOfAnyType;
// Write to file!
file << "matName" << someMatrixOfAnyType;
The file extension can be xml or yml.
In both cases you get a small header that you can easily remove/parse, then you have access to the data in a floating point format.
I used this approach successfully (with yml files) to get data into Matlab and Matplotlib
To get the data:
- open the file with any editor
- then suppress all the text and numbers except the content of the data tag (i.e., the pixel values).
- When done, save your file with a txt or csv extension and open it with matlab (drag-and-drop works).
Voilà. You may have to reshape the resulting matrix in matlab command line if it didn't guess correctly the image size.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…