如何使用行,列和值初始化cv :: Mat数组?(在C ++类中)

时间:2019-04-10 21:23:14

标签: c++ initialization opencv3.0

如何用10个Mat初始化数组? 我试过:(它可以在函数中工作,但不能在类中工作)

cv::Mat outIm[10];
for(int i=0; i<10; i++)
  outIm[i] = Mat(rows, cols, CV_8UC3, cv::Scalar(0,0,0));

法律下方是否有类似内容?

cv::Mat im[10](rows, cols, CV_8UC3);  //not working

1 个答案:

答案 0 :(得分:0)

这是一种可能的解决方案:

class Foo
{
 // Function which returns a zero initialised cv::Mat
 static std:array<cv::Mat,10> MakeInitMatArray() {return {cv::Mat(rows, cols, CV_8UC3, cv::Scalar(0,0,0))};}

 // In-class default-initializer
 std:array<cv::Mat,10> outIm = MakeInitMatArray();

 // ... rest of Foo class
};