A jedeme dál ...
Človíčkův Weblog aneb Michal Horák bloguje

Histogram obrázku, C# .NET

 | 3.11.2007

Naposledy jsme zvětšovali a zmenšovali obrázek, nyní si spočítáme jeho histogram. Obrázek máme uložený v dvojrozměrném poli double[,] BitmapArray, zde je uložena jeho černobílá varianta, aby se nám vše lépe počítalo. Histogram spočítáme následujícím způsobem:

        private int[] SpocitejHistogram()
        {
            int vyska = this.BitmapArray.GetLength(1);
            int sirka = this.BitmapArray.GetLength(0);
            int[] histogram = new int[256];
            int N = sirka * vyska;
            for (int y = 0; y < vyska; y++)
            {
                for (int x = 0; x < sirka; x++)
                {
                    histogram[(int)this.BitmapArray[x, y]] = histogram[(int)this.BitmapArray[x, y]] + 1;
                }
            }

            return histogram;

        }

Tento histogram můžeme následně uložit jako bitmapu:

        private Bitmap VykresliHistogram(double[] histogram) {
            
            double max = 0;
            Point[] body=new Point[256];
            Bitmap bitmap = new Bitmap(256, 100);
            Graphics g = Graphics.FromImage(bitmap);
            g.FillRectangle(Brushes.White, 0, 0, 256, 100);
            Pen pen = new Pen(Color.Black, 1);
            for (int i = 0; i < histogram.Length; i++) {
                if (histogram[i] > max) {
                    max = histogram[i];
                }
            }
            for (int j = 0; j < histogram.Length; j++)
            {
                g.DrawLine(pen, new Point(j, 100), new Point(j, (100-(int)(((double)histogram[j]/(double)max)*100))));
            }

            
            g.DrawLines(pen, body);
            g.Dispose();
            return bitmap;

        }

Kterou lze následně vykreslit.

Příspěvek vyšel v Sobotu 3.11.2007 15:22 v kategorii Programování a byl 7876x zobrazen. Pokud se vám líbil můžete si jej zalinkovat: Linkuj.cz, Del.icio.us

Reklama:

Komentáře


Přidejte svůj komentář

Přidej komentář

Tipy na přečtení

Kategorie

Vyhledávání

Odkazy

Fotoblog

Poslední fotgrafie z fotoblogu

Nejčtenější příspěvky za poslední týden

Poslední příspěvky

"A jedeme dál ..." Človíčkův Weblog aneb Michal Horák bloguje. (c) Michal Horák (Človíček webdesign) 2006