私はビットマップオブジェクトをintの行列に変換しようとしています。空白の白いシートにペイントで文字「C」を描画しました。プログラムは、ビットマップオブジェクトのピクセルが同じ位置(x、y)にある場合、その場所(x、y)のarrを「0」で初期化することになっています。は白で、黒のピクセルの場合はそれに対応して「1」です。
私は次のコードを書きました:
static void Main(string[] args)
{
Bitmap arie = new Bitmap(@"C:\Users\User\Desktop\letter.bmp");
object [,] arr = new object[arie.Width, arie.Height];
int min=1000,counter=1;
for (int i = 0; i < arr.GetLength(0) - 1; i++)
{
for (int j = 0; j < arr.GetLength(1) - 1; j++)
{
if (arie.GetPixel(i, j).ToArgb() == Color.White.ToArgb())
{
arr[i, j] = 0;
}
else
arr[i, j] = 1;
}
}
for (int i = 1; i < arr.GetLength(0) - 2; i++)
{
for (int j = 1; j < arr.GetLength(1) - 2; j++)
{
Console.Write(arr[i, j]);
}
Console.WriteLine();
}
}
最後に私が描いた文字「C」は次のように出てきました: http: //teachers.web.cern.ch/teachers/archiv/hst2000/teaching/expt/wavesand/image39.gif
誰かが問題を認識しているように見えますか?