AForge.NET

  :: AForge.NET Framework :: Articles :: Forums ::

How to extract barcode and finger print image using Aforge

The forum is to discuss topics related to different areas of image processing and computer vision.

How to extract barcode and finger print image using Aforge

Postby greg.dorian » Wed Feb 22, 2017 7:55 pm

Hi This is the first time I use Aforge, a beginner with this lib...

I have to extract a barcode image and fingerprint from a lot of documents, and those imagens will be save it into a database, the problem is How crop the image of the finger print and barcode (pdf417) from the image using Aforge,
I just found this on stackoverflow
Code: Select all
public static System.Drawing.Image AforgeAutoCrop(Bitmap selectedImage)
        {
            Bitmap autoCropImage = null;
            try
            {

                autoCropImage = selectedImage;
                // create grayscale filter (BT709)
                Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721);
                Bitmap grayImage = filter.Apply(autoCropImage);
                // create instance of skew checker
                DocumentSkewChecker skewChecker = new DocumentSkewChecker();
                // get documents skew angle
                double angle = skewChecker.GetSkewAngle(grayImage);
                // create rotation filter
                RotateBilinear rotationFilter = new RotateBilinear(-angle);
                rotationFilter.FillColor = Color.White;
                // rotate image applying the filter
                Bitmap rotatedImage = rotationFilter.Apply(grayImage);
                new ContrastStretch().ApplyInPlace(rotatedImage);
                new Threshold(100).ApplyInPlace(rotatedImage);
                BlobCounter bc = new BlobCounter();
                bc.FilterBlobs = true;
                // bc.MinWidth = 500;
                //bc.MinHeight = 500;
                bc.ProcessImage(rotatedImage);
                Rectangle[] rects = bc.GetObjectsRectangles();

                if (rects.Length == 0)
                {
                    System.Windows.Forms.MessageBox.Show("No rectangle found in image ");
                }
                else if (rects.Length == 1)
                {
                    autoCropImage = rotatedImage.Clone(rects[0], rotatedImage.PixelFormat); ;
                }
                else if (rects.Length > 1)
                {
                    // get largets rect
                    Console.WriteLine("Using largest rectangle found in image ");
                    var r2 = rects.OrderByDescending(r => r.Height * r.Width).ToList();
                    autoCropImage = rotatedImage.Clone(r2[1], rotatedImage.PixelFormat);
                }
                else
                {
                    Console.WriteLine("Huh? on image ");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return autoCropImage;
        }


And Aforge Forum I´ve found http://www.aforgenet.com/forum/viewtopic.php?f=4&t=2179 4 steps to auto crop

but not found how to recognize barcode (pdf417) and fingerprint
Attachments
TestBarcode3.jpg
TestBarcode3.jpg (41.89 KiB) Viewed 3999 times
greg.dorian
 
Posts: 1
Joined: Wed Feb 22, 2017 7:34 pm



Return to Image Processing and Computer Vision