Exemple #1
0
        public void RGBLuminanceSource_Should_Work_With_BitmapImage()
        {
            var pixelFormats = new []
            {
                PixelFormats.Bgr24,
                PixelFormats.Bgr32,
                // PixelFormats.Bgra32, // TODO: alpha channel calculation isn't fully accurate
                PixelFormats.Rgb24,
                //PixelFormats.Bgr565, // conversion isn't accurate to compare it directly to RGB24
                //PixelFormats.Bgr555, // conversion isn't accurate to compare it directly to RGB24
                PixelFormats.Gray8,
            };

            foreach (var pixelFormat in pixelFormats)
            {
                BitmapSource bitmapImage = new BitmapImage(new Uri(samplePicRelPath, UriKind.RelativeOrAbsolute));
                if (bitmapImage.Format != pixelFormat)
                {
                    bitmapImage = new FormatConvertedBitmap(bitmapImage, pixelFormat, null, 0);
                }
                var rgbLuminanceSource       = new BitmapSourceLuminanceSource(bitmapImage);
                var rgbLuminanceSourceResult = rgbLuminanceSource.ToString();
                Assert.That(samplePicRelResult.Equals(rgbLuminanceSourceResult));
            }
        }
Exemple #2
0
        public void Should_Support_Cropping()
        {
            BitmapSource bitmapImage        = new BitmapImage(new Uri(cropSamplePicRelPath, UriKind.RelativeOrAbsolute));
            var          rgbLuminanceSource = new BitmapSourceLuminanceSource(bitmapImage);
            var          croppedImage       = rgbLuminanceSource.crop(0, 0, rgbLuminanceSource.Width / 2, rgbLuminanceSource.Height / 5);
            var          result             = croppedImage.ToString();

            Assert.AreEqual(cropSamplePicRelResult, result);
        }
Exemple #3
0
        public static Result GetBarcodeResultFromQRBitmap(Bitmap bitmap)
        {
            var luminanceSource = new BitmapSourceLuminanceSource(CreateBitmapSourceFromBitmap(bitmap));

            var barcodeReader = new BarcodeReader();
            var barcodeResult = barcodeReader.Decode(luminanceSource);

            return(barcodeResult);
        }
      public void RGB565LuminanceSource_Should_Give_The_Same_Result_As_RGBLuminanceSource_For_BGR565()
      {
         BitmapSource bitmapImage = new BitmapImage(new Uri(samplePicRelPath, UriKind.RelativeOrAbsolute));
         bitmapImage = new FormatConvertedBitmap(bitmapImage, PixelFormats.Bgr565, null, 0);
         var bytes = new byte[bitmapImage.PixelHeight*bitmapImage.PixelWidth*2];
         bitmapImage.CopyPixels(bytes, bitmapImage.PixelWidth * 2, 0);

         var rgb565LuminanceSource = new RGB565LuminanceSource(bytes, bitmapImage.PixelWidth, bitmapImage.PixelHeight);

         var rgbLuminanceSource = new BitmapSourceLuminanceSource(bitmapImage);

         Assert.AreEqual(rgbLuminanceSource.ToString(), rgb565LuminanceSource.ToString());
      }
Exemple #5
0
        public void RGB565LuminanceSource_Should_Give_The_Same_Result_As_RGBLuminanceSource_For_BGR565()
        {
            BitmapSource bitmapImage = new BitmapImage(new Uri(samplePicRelPath, UriKind.RelativeOrAbsolute));

            bitmapImage = new FormatConvertedBitmap(bitmapImage, PixelFormats.Bgr565, null, 0);
            var bytes = new byte[bitmapImage.PixelHeight * bitmapImage.PixelWidth * 2];

            bitmapImage.CopyPixels(bytes, bitmapImage.PixelWidth * 2, 0);

            var rgb565LuminanceSource = new RGB565LuminanceSource(bytes, bitmapImage.PixelWidth, bitmapImage.PixelHeight);

            var rgbLuminanceSource = new BitmapSourceLuminanceSource(bitmapImage);

            Assert.AreEqual(rgbLuminanceSource.ToString(), rgb565LuminanceSource.ToString());
        }
 public void RGBLuminanceSource_Should_Work_With_BitmapImage()
 {
    var pixelFormats = new []
                          {
                             PixelFormats.Bgr24,
                             PixelFormats.Bgr32,
                             // PixelFormats.Bgra32, // TODO: alpha channel calculation isn't fully accurate
                             PixelFormats.Rgb24,
                             //PixelFormats.Bgr565, // conversion isn't accurate to compare it directly to RGB24
                             //PixelFormats.Bgr555, // conversion isn't accurate to compare it directly to RGB24
                             PixelFormats.Gray8,
                          };
    foreach (var pixelFormat in pixelFormats)
    {
       BitmapSource bitmapImage = new BitmapImage(new Uri(samplePicRelPath, UriKind.RelativeOrAbsolute));
       if (bitmapImage.Format != pixelFormat)
          bitmapImage = new FormatConvertedBitmap(bitmapImage, pixelFormat, null, 0);
       var rgbLuminanceSource = new BitmapSourceLuminanceSource(bitmapImage);
       var rgbLuminanceSourceResult = rgbLuminanceSource.ToString();
       Assert.That(samplePicRelResult.Equals(rgbLuminanceSourceResult));
    }
 }
 public void Should_Support_Cropping()
 {
    BitmapSource bitmapImage = new BitmapImage(new Uri(cropSamplePicRelPath, UriKind.RelativeOrAbsolute));
    var rgbLuminanceSource = new BitmapSourceLuminanceSource(bitmapImage);
    var croppedImage = rgbLuminanceSource.crop(0, 0, rgbLuminanceSource.Width / 2, rgbLuminanceSource.Height/5);
    var result = croppedImage.ToString();
    Assert.AreEqual(cropSamplePicRelResult, result);
 }