// Загрузка изображения 2 private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Выберете файл изображения."; ofd.Filter = "BMP|*.bmp|Png Images(*.png)|*.png|Jpeg Images(*.jpg)|*.jpg"; if (ofd.ShowDialog() == DialogResult.OK) { StreamReader streamReader = new StreamReader(ofd.FileName); img2 = (Bitmap)Bitmap.FromStream(streamReader.BaseStream); streamReader.Close(); // картинка загружена b_img2 = true; LoadingImage = b_img1 && b_img2; // выводим картинку выбранную картинку на экран pb2.Image = img2.resizeImage(new Size(395, 395)); SNRF2 = ExtendedBitmap.SNRF(img2); SNRGG2 = ExtendedBitmap.SNRGG(img2); SNRF2label.Text = SNRF2.ToString("F3"); SNRGG2label.Text = SNRGG2.ToString("F3"); // делаем анализ AnalyzeRun(); } }
// Switch channel public void SwitchChannel(int channel) { if ((channel >= 0) && (channel <= 2)) { if (!stat.IsGrayscale) { //histogram.Color = colors[channel]; activeHistogram = (channel == 0) ? stat.Red : (channel == 1) ? stat.Green : stat.Blue; } } else if (channel == 3) { if (stat.IsGrayscale) { //histogram.Color = colors[3]; activeHistogram = stat.Gray; } } if (activeHistogram != null) { //histogram.Values = activeHistogram.Values; // Собираем статистику по изображению int[] yval = activeHistogram.Values; try { // очищаем Сhart для дальшейшей отрисовки foreach (var series in chart1.Series) { series.Points.Clear(); } // Заполняем Chart значениями гистограммы chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Enabled = false; chart1.ChartAreas["ChartArea1"].AxisY.LabelStyle.Enabled = false; for (int i = 0; i < yval.Length; i++) { chart1.Series["Series1"].Points.AddXY(i, yval[i]); } } catch (Exception e) { MessageBox.Show(e.Message); } meanLabel.Text = activeHistogram.Mean.ToString("F2"); // среднее значение stdDevLabel.Text = activeHistogram.StdDev.ToString("F2"); // стандартное отклонение medianLabel.Text = activeHistogram.Median.ToString( ); // медиана minLabel.Text = activeHistogram.Min.ToString( ); // минимальное значение maxLabel.Text = activeHistogram.Max.ToString( ); // максимальное значение double MSE = ExtendedBitmap.SKO(src, Diplom.MainForm.getOriginalBitmap()); MSELabel.Text = MSE.ToString("F3"); double SNR = ExtendedBitmap.SNR(src, Diplom.MainForm.getOriginalBitmap()); SNRlabel.Text = SNR.ToString("F3"); double SNRGG = ExtendedBitmap.SNRGG(src); SNRGGlabel.Text = SNRGG.ToString("F3"); } }