Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }