ByteScout Barcode Reader SDK - VB.NET - Image Preprocessing Filters - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout Barcode Reader SDK – VB.NET – Image Preprocessing Filters

  • Home
  • /
  • Articles
  • /
  • ByteScout Barcode Reader SDK – VB.NET – Image Preprocessing Filters

ByteScout Barcode Reader SDK – VB.NET – Image Preprocessing Filters

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

Tutorials:

prev
next