これは、画像 (Bmp) の 8*8 ブロックの ArrayList を取得するための私のコードであり、機能していません。ここでのロジックの欠陥は何ですか? 'rows' はイメージの行数です。ビデオステガノグラフィプロジェクトを行っています。
int x = 0;
int colCount = 0;
int yStart = 0;
int yLimit = 8;
for (x = 0;x < rows; x++)
{
while (yStart<yLimit)
{
imageBlock[x % 8, yStart % 8] = image_array[0].Data[x, yStart, 1];
if (x % 8 == 7 && yStart % 8 == 7)
{
blockList.Add(ForwardDCT(imageBlock));
}
yStart++;
}
if (x == rows - 1)
{
x = 0;
yLimit = yLimit + 8;
//yStart = yStart + 8;
colCount++;
if (colCount == 100)
{
break;
}
}
if (yStart % 8 == 7)
{
yStart = yLimit - 8;
}
}