0

各ピクセルには 1 つの値ではなく (bitsPerPixel/8) の値があるため、X 次元と Y 次元、そして 3 次元の画像操作用に 3 次元配列を作成しています。

率直に言って、私は C++ にあまり精通していませんが、カメラの API は厳密に C++ であるため、「これでよろしいですか?」と尋ねる前に、より熟練した人に確認したいと思います。

vector<vector<vector<int>>> mask(m_nSizeX, vector<vector<int>>(m_nSizeY, vector<int>(m_nBitsPerPixel / 8)));
4

2 に答える 2

7

C++11 をサポートしている場合は、はい。

そうでない場合は、テンプレートに追加のスペースが必要です。

vector<vector<vector<int> > >

それ以外の

vector<vector<vector<int>>>

等々...

個人的にはvector、最後の値に a を使用するのではなく、構造体を使用します。

于 2012-07-18T09:36:57.853 に答える
0

はい、定義は正しいです。パラメータについては、ヘッダーが見えないので言えません

一般的な慣習として、私は常にクラスの前に名前空間名を使用するので、決して使用しません。

using namespace std;
vector<int> numbers;

but instead

std::vector<int> numbers

これは私にとって読みやすく、エラーを追跡するのが簡単です。また、この3Dベクトルを渡す場合は、ベクトルのアロケータを定義するために渡す必要があるかもしれません。しかし、これはあなたが何をしたいかに依存します

于 2012-07-18T09:40:19.070 に答える