/// <summary> /// Вывод гистограммы по компоненте V /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonGistV_Click(object sender, EventArgs e) { FormGist formGistogramV = procedures.CreateFormGist(gistRGB[5]); formGistogramV.Text += " Компонента цвета V"; formGistogramV.chartGistogram.ChartAreas[0].AxisX.Minimum = 0; formGistogramV.chartGistogram.ChartAreas[0].AxisX.Maximum = 1; formGistogramV.Show(); }
/// <summary> /// Вывод гистограммы по компоненте B /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonGistB_Click(object sender, EventArgs e) { FormGist formGistogramB = procedures.CreateFormGist(gistRGB[2]); formGistogramB.Text += " Компонента цвета B"; formGistogramB.chartGistogram.ChartAreas[0].AxisX.Minimum = 0; formGistogramB.chartGistogram.ChartAreas[0].AxisX.Maximum = 255; formGistogramB.Show(); }
/// <summary> /// Показать гистограммы распределения пикселей по X/Y /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonShowGist_Click(object sender, EventArgs e) { FormGist formGistogramX = procedures.CreateFormGist(gistGor); FormGist formGistogramY = procedures.CreateFormGist(gistVert); formGistogramX.Text += " Распределение выделенных пикселей по оси X"; formGistogramY.Text += " Распределение выделенных пикселей по оси Y"; formGistogramX.chartGistogram.ChartAreas[0].AxisX.Minimum = 0; formGistogramY.chartGistogram.ChartAreas[0].AxisX.Minimum = 0; formGistogramX.chartGistogram.ChartAreas[0].AxisX.Maximum = bitmapTemp.Width; formGistogramY.chartGistogram.ChartAreas[0].AxisX.Maximum = bitmapTemp.Height; formGistogramX.Show(); formGistogramY.Show(); }
/// <summary> /// Создание формы гистограммы /// </summary> /// <param name="gistParTemp"></param> /// <returns></returns> public FormGist CreateFormGist(List <Stat_analysis.ElementGist> gistParTemp) { FormGist formGistogram = new FormGist(); try { formGistogram.Activate(); //Вывод данных на гистограмму распределения Series seriesStatisticalPar = new Series(); Series seriesStatisticalPar2 = new Series(); float SumInt = 0, SumPar = 0; //Относительные величины for (int i = 0; i < gistParTemp.Count; i++) { SumPar += gistParTemp[i].Y; } // for (int i = 0; i < gistParTemp.Count; i++) { seriesStatisticalPar.Points.Add( new DataPoint(Math.Round((gistParTemp[i].Xmin + gistParTemp[i].Xmax) / 2, 2), gistParTemp[i].Y / SumPar)); SumInt += gistParTemp[i].Y; seriesStatisticalPar2.Points.Add( new DataPoint(Math.Round((gistParTemp[i].Xmin + gistParTemp[i].Xmax) / 2, 2), SumInt / SumPar)); } seriesStatisticalPar2.ChartArea = seriesStatisticalPar.ChartArea = "ChartArea1"; seriesStatisticalPar2.ChartType = seriesStatisticalPar.ChartType = SeriesChartType.Column; formGistogram.chartIntegral.Palette = formGistogram.chartGistogram.Palette = ChartColorPalette.BrightPastel; formGistogram.chartGistogram.Series.Add(seriesStatisticalPar); formGistogram.chartIntegral.Series.Add(seriesStatisticalPar2); formGistogram.seriesDensity = seriesStatisticalPar; } catch (Exception e1) { MessageBox.Show(e1.Message); } return(formGistogram); }