 
         
         
             Important Update
                        Important Update
                    
                Module1.vb
Imports Bytescout.BarCodeReader
Module Module1
    ''' <summary>
    ''' This exmaple demonstrates the use of image filters to improve the decoding or speed.
    ''' </summary>
    Sub Main()
        Using reader As New Reader("demo", "demo")
            ' Set barcode type to find
            reader.BarcodeTypesToFind.Code128 = True
            ' WORKING WITH LOW CONTRAST BARCODE IMAGES
            ' Add the contrast adjustment for the low contrast image
            reader.ImagePreprocessingFilters.AddContrast(40)
            Console.WriteLine("Image {0}", "low-contrast-barcode.png")
            Dim barcodes As FoundBarcode() = reader.ReadFrom("low-contrast-barcode.png")
            If barcodes.Length = 0 Then
                Console.WriteLine("No barcode found!")
            Else
                For Each barcode As FoundBarcode In barcodes
                    Console.WriteLine("Found barcode {0} with value '{1}'", barcode.Type, barcode.Value)
                Next
            End If
            reader.ImagePreprocessingFilters.Clear()
            Console.WriteLine()
            ' WORKING WITH NOISY BARCODE IMAGES
            ' Add the median filter to lower the noise
            reader.ImagePreprocessingFilters.AddMedian()
            Console.WriteLine("Image {0}", "noisy-barcode.png")
            barcodes = reader.ReadFrom("noisy-barcode.png")
            If barcodes.Length = 0 Then
                Console.WriteLine("No barcode found!")
            Else
                For Each barcode As FoundBarcode In barcodes
                    Console.WriteLine("Found barcode {0} with value '{1}'", barcode.Type, barcode.Value)
                Next
            End If
            reader.ImagePreprocessingFilters.Clear()
            Console.WriteLine()
            ' WORKING WITH DENSE AND ILLEGIBLE BARCODES
            ' Add the scale filter to enlarge the barcode to make gaps between bars more distinguishable
            reader.ImagePreprocessingFilters.AddScale(2) ' enlarge twice
            Console.WriteLine("Image {0}", "too-dense-barcode.png")
            barcodes = reader.ReadFrom("too-dense-barcode.png")
            If barcodes.Length = 0 Then
                Console.WriteLine("No barcode found!")
            Else
                For Each barcode As FoundBarcode In barcodes
                    Console.WriteLine("Found barcode {0} with value '{1}'", barcode.Type, barcode.Value)
                Next
            End If
            reader.ImagePreprocessingFilters.Clear()
            Console.WriteLine()
            ' REMOVE EMPTY MARGINS FROM IMAGE TO SPEED UP THE PROCESSING
            ' Add the crop filter to cut off empty margins from the image.
            ' This will not improve the recognition quality but may speed up the processing 
            ' if you enabled multiple barcode types to search. 
            reader.ImagePreprocessingFilters.AddCropDark()
            Console.WriteLine("Image {0}", "barcode-with-large-margins.png")
            barcodes = reader.ReadFrom("barcode-with-large-margins.png")
            If barcodes.Length = 0 Then
                Console.WriteLine("No barcode found!")
            Else
                For Each barcode As FoundBarcode In barcodes
                    Console.WriteLine("Found barcode {0} with value '{1}'", barcode.Type, barcode.Value)
                Next
            End If
            reader.ImagePreprocessingFilters.Clear()
            Console.WriteLine()
        End Using
        Console.WriteLine("Press any key to exit..")
        Console.ReadKey()
    End Sub
End Module
Click here to get your Free Trial version of the SDK
also available as: 
