Opencv Mat作为函数的参数

问题描述 投票:0回答:1

我现在用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);

但垫子的结果是

[-9.255963134931783e+61;
  -9.255963134931783e+61;
  -9.255963134931783e+61]

所以有人可以帮我解决问题吗?

非常感谢

最好

J ing

opencv matrix mat
1个回答
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]
*/
© www.soinside.com 2019 - 2024. All rights reserved.