我现在用opencv Mat遇到了麻烦。
这是一个功能
void getMat(Mat a){
double b[3]={1,2,3};
a=Mat(3,1,CV_64FC1,b);
}
当我在main
中使用该功能时Mat mat(3,1,CV_64FC1);
getMat(mat);
但是mat的结果是
[-9.255963134931783e+61;
-9.255963134931783e+61;
-9.255963134931783e+61]
那么有人可以帮助我摆脱这个问题吗?
非常感谢
最佳
荆
答案 0 :(得分:1)
使用参考参数和copyTo
对象;
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
void getMat(Mat &mat){
double b[3]={1,2,3};
Mat _mat(3,1,CV_64FC1,b);
_mat.copyTo(mat);
}
int main(){
Mat a;
getMat(a);
cout << a <<endl;
return 0;
}
/*
[1;
2;
3]
*/