C++中的三维数组

med*_*ivh 0 c++ image vector

我正在制作用于图像处理的三维数组 - 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)

Luc*_*ore 7

如果你有C++ 11支持,那么是的.

如果没有,您的模板中需要一些额外的空格:

vector<vector<vector<int> > >
Run Code Online (Sandbox Code Playgroud)

代替

vector<vector<vector<int>>>
Run Code Online (Sandbox Code Playgroud)

等等...

虽然我个人不会使用a vector作为最后一个值,而是一个结构.