Нормировка гистограммы изображения - C#

Узнай цену своей работы

Формулировка задачи:

Необходимо выполнить нормировку гистограммы по оси Y. Изображение bmp, 8 битное, градации серого
public Bitmap histo(Bitmap bmp, Chart chart11)
        {
            if (bmp != null) 
            {
                Rectangle rect = new Rectangle(0, 0, Bmp.Width, Bmp.Height);
                System.Drawing.Imaging.BitmapData bmpData = Bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, Bmp.PixelFormat);
                IntPtr ptr = bmpData.Scan0; 
                int bytes = bmpData.Stride * Bmp.Height;
                byte[] grayValues = new byte[bytes];
                System.Runtime.InteropServices.Marshal.Copy(ptr, grayValues, 0, bytes);
                int[] R = new int[256];                 
                for (int j = 0; j < grayValues.Length; ++j)
                {
                    ++R[grayValues[j]];
                }
                int max = 0;
                for (int i = 0; i < R.Length; i++)
                {
                    if (max < R[i]) max = R[i];
                }
                for (int s = 0; s < 256; s++)
                {
                    chart11.Series[0].Points.Add(R[s]);   //нормировка диаграммы по оси Y не выполнена!   
                }
                
                Bmp.UnlockBits(bmpData);
                chart11.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
                chart11.ChartAreas[0].AxisY.MajorGrid.Enabled = false;
                chart11.ChartAreas[0].AxisX.LabelStyle.Enabled = false;
                chart11.ChartAreas[0].AxisY.LabelStyle.Enabled = false;
                chart11.ChartAreas[0].AxisY.Interval = 2500;
                chart11.ChartAreas[0].AxisX.Interval = 10;
                
            }
максимальный элемент то я нашел, и понимаю смысл, но как реализовать не понятно

Решение задачи: «Нормировка гистограммы изображения»

textual
Листинг программы
chart1.ChartAreas[0].AxisY.Maximum = max + 10;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы