从OpenCV(C+;+;)到Matlab的双精度矩阵保存

从OpenCV(C+;+;)到Matlab的双精度矩阵保存,matlab,opencv,Matlab,Opencv,我想将OpenCV创建的矩阵与Matlab中的矩阵进行比较。如果矩阵为uint8,则将其保存为pgm图像即可。但我的矩阵是CV_64FC1(双精度),不能保存为图像。有什么简单的方法可以保存我的双矩阵以便在Matlab中读取吗?只需将每个像素的强度写入一个文件,并使用Matlab使用importdata从OpenCV示例中尝试此方法 Mat r std::stringstream ss; ss << format(r,"csv") << endl << end

我想将OpenCV创建的矩阵与Matlab中的矩阵进行比较。如果矩阵为uint8,则将其保存为pgm图像即可。但我的矩阵是CV_64FC1(双精度),不能保存为图像。有什么简单的方法可以保存我的双矩阵以便在Matlab中读取吗?

只需将每个像素的强度写入一个文件,并使用Matlab使用
importdata
从OpenCV示例中尝试此方法

Mat r
std::stringstream ss;
ss << format(r,"csv") << endl << endl;
myFile << ss.str();
// or even this
myFile << format(r,"csv") << endl << endl;
matr
std::stringstream-ss;

你是说ss比文件输出容易?@gokcehan我认为CV_64FC1无法保存。我说得对吗?我想他不是指图像。将原始数据输出到filewell,我已经很久没有接触opencv了,但是你不能打印这些值并将它们保存到文本文件中吗?这就是我的意思。@Gokchehan,这很难,因为它们是双精度的。效果很好。谢谢你的回答。嘿,我正在应用你的方法,但是我的文本文件中有奇怪的值,我的矩阵是CV_64F:51.025219726563219.4757385253906-722.7874145507813-375.035