private static DecodeResult ProcessDecode(Image <Rgba32> image) { var decodeResult = new DecodeResult(); var source = new ImageSharpLuminanceSource <Rgba32>(image); var reader = new BarcodeReader(null, null, ls => new GlobalHistogramBinarizer(ls)) { AutoRotate = true, TryInverted = true, Options = new DecodingOptions { TryHarder = true, PossibleFormats = new List <BarcodeFormat> { BarcodeFormat.ITF //BarcodeFormat.EAN_8, //BarcodeFormat.CODE_39, //BarcodeFormat.UPC_A } } }; var result = reader.Decode(source); if (result != null) { decodeResult.ItemFound = true; decodeResult.BarcodeType = result.BarcodeFormat.ToString(); decodeResult.BarcodeValue = result.Text; } return(decodeResult); }
public void Luminance_Is_Within_Margin_Of_Error(string fileName) { byte[] controlLuminanceSourceMatrix; using (var control = LoadBitmapImage(fileName)) { var bitmapLuminanceSource = new BitmapLuminanceSource(control); controlLuminanceSourceMatrix = bitmapLuminanceSource.Matrix; } byte[] testLuminanceSourceMatrix; using (var bitmap = LoadImageSharpBitmap(fileName)) { var imagesharpBitmapLuminanceSource = new ImageSharpLuminanceSource <SelectedPixelFormat>(bitmap); testLuminanceSourceMatrix = imagesharpBitmapLuminanceSource.Matrix; } Assert.AreEqual(controlLuminanceSourceMatrix.Length, testLuminanceSourceMatrix.Length); for (int index = 0; index < controlLuminanceSourceMatrix.Length; index++) { var controlColor = controlLuminanceSourceMatrix[index]; var testColor = testLuminanceSourceMatrix[index]; Assert.That(testColor, Is.EqualTo(controlColor).Within(3)); } }
public void Should_Calculate_Luminance_And_Decode(string fileName, string content) { using (var bitmap = LoadImageSharpBitmap(fileName)) { var luminance = new ImageSharpLuminanceSource <SelectedPixelFormat>(bitmap); var reader = new BarcodeReader <SelectedPixelFormat>(); var result = reader.Decode(luminance); Assert.That(result?.Text, Is.EqualTo(content)); } }
protected ZXing.Result Decode(Image <Rgba32> bitmap) { //PM> Install-Package ZXing.Net.Bindings.ImageSharp var source = new ImageSharpLuminanceSource <Rgba32>(bitmap); //PM> Install-Package ZXing.Net var reader = new BarcodeReader(null, null, ls => new GlobalHistogramBinarizer(ls)) { AutoRotate = true, TryInverted = true, Options = new DecodingOptions { TryHarder = true, } }; var result = reader.Decode(source); return(result); }
/// <summary> /// uses the IBarcodeReaderGeneric implementation and the <see cref="ImageSharpLuminanceSource{TPixel}"/> class for decoding /// </summary> /// <param name="reader"></param> /// <param name="image"></param> /// <returns></returns> public static Result[] DecodeMultiple <TPixel>(this IBarcodeReaderGeneric reader, ImageBase <TPixel> image) where TPixel : struct, IPixel <TPixel> { var luminanceSource = new ImageSharpLuminanceSource <TPixel>(image); return(reader.DecodeMultiple(luminanceSource)); }
/// <summary> /// uses the IBarcodeReaderGeneric implementation and the <see cref="ImageSharpLuminanceSource"/> class for decoding /// </summary> /// <param name="reader"></param> /// <param name="image"></param> /// <returns></returns> public static Result[] DecodeMultiple(this IBarcodeReaderGeneric reader, Image image) { var luminanceSource = new ImageSharpLuminanceSource(image); return(reader.DecodeMultiple(luminanceSource)); }
/// <summary> /// uses the IBarcodeReaderGeneric implementation and the <see cref="ImageSharpLuminanceSource{TPixel}"/> class for decoding /// </summary> /// <param name="reader"></param> /// <param name="image"></param> /// <returns></returns> public static Result Decode <TPixel>(this IBarcodeReaderGeneric reader, Image <TPixel> image) where TPixel : unmanaged, IPixel <TPixel> { var luminanceSource = new ImageSharpLuminanceSource <TPixel>(image); return(reader.Decode(luminanceSource)); }