如何在 OpenCV 中将 Float Mat 写入文件

How to write a Float Mat to a file in OpenCV(如何在 OpenCV 中将 Float Mat 写入文件)
本文介绍了如何在 OpenCV 中将 Float Mat 写入文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有一个矩阵

Mat B(480,640,CV_32FC1);

包含浮动值..我想将此矩阵写入一个文件,该文件可以在记事本或 Ms word 或 Excel 中打开以查看内部和存储的值....imwrite 函数只能保存8位或16位图像..

containing floating values..I want to write this matrix to a file which could be opened in notepad or Ms word or Excel to see the values inside and for storage....imwrite function can save 8-bit or 16-bit image only..

如果可以做到,请提出您的建议?如果是,如何??

Drop in your suggestions if this could be done?? if yes, how ??

推荐答案

使用纯 OpenCV API 调用:

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;

文件扩展名可以是 xmlyml.在这两种情况下,您都会获得一个可以轻松删除/解析的小标题,然后您就可以访问浮点格式的数据.我成功地使用了这种方法(使用 yml 文件)将数据导入 Matlab 和 Matplotlib

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

获取数据:

  1. 用任何编辑器打开文件
  2. 然后抑制除数据标签内容(即像素值)之外的所有文本和数字.
  3. 完成后,使用 txt 或 csv 扩展名保存文件,然后使用 matlab(拖放操作)打开它.

瞧.如果没有正确猜测图像大小,您可能需要在 matlab 命令行中对结果矩阵进行整形.

Voilà. You may have to reshape the resulting matrix in matlab command line if it didn't guess correctly the image size.

这篇关于如何在 OpenCV 中将 Float Mat 写入文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Bring window to front -gt; raise(),show(),activateWindow() don’t work(把窗户放在前面 -raise(),show(),activateWindow() 不起作用)
How to get a list video capture devices NAMES (web cameras) using Qt (crossplatform)? (C++)(如何使用 Qt(跨平台)获取列表视频捕获设备名称(网络摄像机)?(C++))
How to compile Qt as static(如何将 Qt 编译为静态)
C++ over Qt : Controlling transparency of Labels and Buttons(C++ over Qt:控制标签和按钮的透明度)
How to know when a new USB storage device is connected in Qt?(Qt如何知道新的USB存储设备何时连接?)
What is an event loop in Qt?(Qt 中的事件循环是什么?)