private void Preparation2_Click(object sender, RoutedEventArgs e) { double coeff = (_settings.Fmax - _settings.Fmin) / 255; int height = _sourceBitmapImage.PixelHeight; int width = _sourceBitmapImage.PixelWidth; Bitmap bitmap = BitmapImage2Bitmap(_sourceBitmapImage); for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { var hsv = new HSV(bitmap.GetPixel(j, i)); if (hsv.Value < _settings.Fmin / 255) { hsv.Value = 0; } else if (hsv.Value > _settings.Fmax / 255) { hsv.Value = 1; } else { hsv.Value = (hsv.Value - _settings.Fmin / 255) / coeff; } bitmap.SetPixel(j, i, hsv.HSVToColor()); } } bitmap.Save(@"D:\123.jpg"); Image2.Source = Bitmap2BitmapImage(bitmap); AddValuesToChart(ProcessedChartValues, Image2.Source as BitmapImage); }
private void Preparation1_Click(object sender, RoutedEventArgs e) { double coeff = (_settings.Gmax - _settings.Gmin) / 255; int height = _sourceBitmapImage.PixelHeight; int width = _sourceBitmapImage.PixelWidth; Bitmap bitmap = BitmapImage2Bitmap(_sourceBitmapImage); for (int i = 0; i < height; i++) { for(int j = 0; j < width; j++) { var hsv = new HSV(bitmap.GetPixel(j, i)); hsv.Value = hsv.Value * coeff + _settings.Gmin / 255; bitmap.SetPixel(j, i, hsv.HSVToColor()); } } bitmap.Save(@"D:\123.jpg"); Image2.Source = Bitmap2BitmapImage(bitmap); AddValuesToChart(ProcessedChartValues, Image2.Source as BitmapImage); }
private void OpRoberts_Click(object sender, RoutedEventArgs e) { int height = _sourceBitmapImage.PixelHeight; int width = _sourceBitmapImage.PixelWidth; Bitmap bitmap = BitmapImage2Bitmap(_sourceBitmapImage); Bitmap newBitmap = BitmapImage2Bitmap(_sourceBitmapImage); for (int i = 0; i < height - 1; i++) { for (int j = 0; j < width - 1; j++) { HSV hsv = GetRobertsPixel(new HSV(bitmap.GetPixel(j, i)), new HSV(bitmap.GetPixel(j + 1, i)), new HSV(bitmap.GetPixel(j, i + 1)), new HSV(bitmap.GetPixel(j + 1, i + 1))); newBitmap.SetPixel(j, i, hsv.HSVToColor()); } } newBitmap.Save(@"D:\123.jpg"); Image2.Source = Bitmap2BitmapImage(newBitmap); AddValuesToChart(ProcessedChartValues, Image2.Source as BitmapImage); }