我正在制作用于图像处理的三维数组 - X和Y维度,然后是第三维,因为每个像素没有一个值而是(bitsPerPixel/8)值.
我坦率地说我不是很精通C++,但相机的API严格来说是C++,所以我想在我出发之前先咨询一些技术人员然后问"这是对的吗?":
vector<vector<vector<int>>> mask(m_nSizeX, vector<vector<int>>(m_nSizeY, vector<int>(m_nBitsPerPixel / 8)));
Run Code Online (Sandbox Code Playgroud)
如果你有C++ 11支持,那么是的.
如果没有,您的模板中需要一些额外的空格:
vector<vector<vector<int> > >
Run Code Online (Sandbox Code Playgroud)
代替
vector<vector<vector<int>>>
Run Code Online (Sandbox Code Playgroud)
等等...
虽然我个人不会使用a vector作为最后一个值,而是一个结构.