1

我有一个二维双类型矩阵。

双**结果;(8334*34尺寸)

这些值类似于:0.00211094, 0, 6.10098e-006.......

我使用代码 Mat m = Mat(ROW, COL, CV_64F, results),

但是当我检查元素时,我发现值不匹配,并且 m 中的值非常奇怪,类似于 5.325e-344(太小了!)

cout<(0,0) != 结果[0][0]

我测试了一个小矩阵,答案与矩阵相匹配。

double a = 0.00211094;
double b = 6.10098e-006;
double c=0;
double aa[3][3] = {{a, b, c}, {0.4, 0.5, 0.6}, {0.7, 0.8, 0.9}};
Mat m = Mat(3, 3, CV_64F, aa);

cout<<m.at<double>(0,1)<<endl;

谁能告诉我为什么?这是我的 C++ 内存问题(结果矩阵太大?)?

4

1 回答 1

0

只有小矩阵可以设置到 Mat 中。

所以我尝试将每个元素设置为mat。

for(i...){
for(j...){
    m.at<double>(i,j) =results[i][j];
}
}

它有效。

有趣的!

于 2013-04-03T03:32:35.877 回答