如何用行、列和值初始化 cv::Mat 的数组?(在 c++ Class 中)

How to initialize array of cv::Mat with rows, cols and value?(In a c++ Class)

如何用 10 个 Mat 初始化数组? 我试过了:(它在功能上工作但在 class 中没有)

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

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

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
};