我有一个二维双重矩阵。
双**结果; (8334 * 34大小)
值如下: 0.00211094,0,6.10098e-006 .......
我使用代码Mat m = Mat(ROW,COL,CV_64F,结果),
但是当我检查元素时,我发现值不匹配,m中的值非常奇怪,类似于5.325e-344(太小了!)
cout<(0,0)!= result [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 ++内存问题(结果矩阵太大了吗?)?
答案 0 :(得分:0)
只有小矩阵可以设置为Mat。
所以我尝试将每个元素设置为mat。
for(i...){
for(j...){
m.at<double>(i,j) =results[i][j];
}
}
它有效。
有趣!