次のコードで cvmSet が実際に何をしているのか誰か教えてください。特にL0[y*5 + x]
この部分。また、配列は 1D 配列または 2D 配列として宣言されていますか? 1D配列だと思います。その特定の行を理解したいだけです。どんな助けでも大歓迎です。
配列の値が L0[y*5 + x] として計算される場合、L0 の要素の役割は何ですか? 1D L0 の配列要素を初期化するポイントは何ですか?
float L0[]={
-1,-1,-1,-1,-1,
0, 0, 0, 0, 0,
2, 2, 2, 2, 2,
0, 0, 0, 0, 0,
-1,-1,-1,-1,-1 };
CvMat* rgbMat = cvCreateMat(5, 5, CV_32FC1);
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 5; x++)
cvmSet(rgbMat, y, x, L0[y*5 + x]);
}