0

画像の正規化を行っていますが、画像の RGB 値は既に取得しています。正規化コードを書き出す方法についてのスターターなど、C#コードのRGB正規化を手伝ってくれる人はいますか。ありがとう!


private void normalization_Click(object sender, EventArgs e) { // for (int x = 0; x < pictureBox1.Width; x++) {

           // for (int y = 0; y < pictureBox1.Height; y++)
            {


                try
                {
                    Bitmap img = new Bitmap(pictureBox1.Image);
                    Color c;
                    for (int i = 0; i < img.Width; i++)
                    {
                        for (int j = 0; j < img.Height; j++)
                        {
                            c = img.GetPixel(i, j);
                            int r = Convert.ToInt16(c.R);
                            int g = Convert.ToInt16(c.G);
                            int b = Convert.ToInt16(c.B);

                            d = r / (r + g + b);
                            h = g / (r + g + b);
                            f = b / (r + g + b);

                            img.SetPixel(i, j, Color.FromArgb(d, h, f));

                            Color pixelColor = img.GetPixel(i, j);
                            float normalizedPixel = (d + h + f);
                            Color normalizedPixelColor = System.Drawing.ColorConverter.(normalizedPixel);
                            img.SetPixel(x, y, normalizedPixelColor);

                        }
                    }

                }
                catch (Exception ex) { }

やあ。正規化のために数式とすべてを実行しました。私が今直面している問題は、リストボックスからRGBピクセルの値を取得し、数式で正規化してから、ピクセルをピクチャボックス/画像に戻すのに問題があることです。上記は、正規化されたRGBピクセルをピクチャボックスに戻すために試みたコードです。まだ画像が正規化されていないので、これについて何か助けを求めることはできますか? ありがとう。

4

1 に答える 1

-1

プロジェクトに依存関係があることを気にしない場合は、AForge.NETをご覧ください。おまけとして、for ループを再発明する必要なく、利用可能な他のアルゴリズムがたくさんあります...

于 2012-07-24T05:00:43.480 に答える