[OpenCV] Extract en recognize barcode from image file.

Discussion in 'C Programming' started by kurapix@gmail.com, Apr 10, 2008.

  1. Guest

    Hi there!!!

    I've been working on recognizing EAN barcodes from images. Yes it's
    about recognizing barcodes from images but from bars not from the
    digit with the help of OCR software but with "Open Computer Vision
    library" (OpenCV).
    I haven't been successful yet.

    Here is my idea at how I should do it :
    - Image capture
    - Grays levels
    - Binarize image
    - Search the angle with Hough Transform
    - Rotate the image using the found angle.
    - Average of several lines for the color of the bars
    - Convert to binary digit
    - Convert in decimal

    (I'm unable to show the lines found with Hough Transform anyway ...
    ><)

    I can rotate the image and all.

    I don't have the slighest idea at how to do to extract the rectangular
    zone of the barcode and then averaging the lines.

    Then, I have problems with some barcodes with some reflections, some
    bars won't be continue bars so ... it inputs errors and dunno how to
    correct it (how to reform correctly the bar since some point are
    presents).

    Here what I have for now :
    http://img527.imageshack.us/img527/4182/1barcodeuo0.th.jpg
    http://img525.imageshack.us/img525/1876/2levelsofgrayseq3.th.jpg
    http://img153.imageshack.us/img153/4425/3binarizexb6.th.jpg
    http://img398.imageshack.us/img398/6972/4rotatesz3.th.jpg

    I would like to post the source code but it's more than 100 lines ...
    When my problem is resolved, I think I'll contribute to the community
    by giving out the sources for recognizing a barcode from image.

    Help would be much appreciate.

    Thank you

    Kurapix

    P.S. : Sorry for my bad english
     
    , Apr 10, 2008
    #1
    1. Advertising

  2. Guest

    Re: Extract en recognize barcode from image file.

    On 11 avr, 00:30, wrote:
    > Hi there!!!
    >
    > I've been working on recognizing EAN barcodes from images. Yes it's
    > about recognizing barcodes from images but from bars not from the
    > digit with the help of OCR software but with "Open Computer Vision
    > library" (OpenCV).
    > I haven't been successful yet.
    >
    > Here is my idea at how I should do it :
    > - Image capture
    > - Grays levels
    > - Binarize image
    > - Search the angle with Hough Transform
    > - Rotate the image using the found angle.
    > - Average of several lines for the color of the bars
    > - Convert to binary digit
    > - Convert in decimal
    >
    > (I'm unable to show the lines found with Hough Transform anyway ...><)
    >
    > I can rotate the image and all.
    >
    > I don't have the slighest idea at how to do to extract the rectangular
    > zone of the barcode and then averaging the lines.
    >
    > Then, I have problems with some barcodes with some reflections, some
    > bars won't be continue bars so ... it inputs errors and dunno how to
    > correct it (how to reform correctly the bar since some point are
    > presents).
    >
    > Here what I have for now :http://img527.imageshack.us/img527/...8.imageshack.us/img398/6972/4rotatesz3.th.jpg
    >
    > I would like to post the source code but it's more than 100 lines ...
    > When my problem is resolved, I think I'll contribute to the community
    > by giving out the sources for recognizing a barcode from image.
    >
    > Help would be much appreciate.
    >
    > Thank you
    >
    > Kurapix
    >
    > P.S. : Sorry for my bad english


    Wooops.

    For the pictures, remove .th in the links to have real size pictures
    (taken from a webcam).
     
    , Apr 10, 2008
    #2
    1. Advertising

  3. On 10 Apr 2008 at 22:30, wrote:
    > I've been working on recognizing EAN barcodes from images. Yes it's
    > about recognizing barcodes from images but from bars not from the
    > digit with the help of OCR software but with "Open Computer Vision
    > library" (OpenCV).

    [snip]
    > I don't have the slighest idea at how to do to extract the rectangular
    > zone of the barcode and then averaging the lines.
    >
    > Then, I have problems with some barcodes with some reflections, some
    > bars won't be continue bars so ... it inputs errors and dunno how to
    > correct it (how to reform correctly the bar since some point are
    > presents).

    [snip]
    > I would like to post the source code but it's more than 100 lines ...
    > When my problem is resolved, I think I'll contribute to the community
    > by giving out the sources for recognizing a barcode from image.


    That sounds like an interesting and worthwhile project, but probably a
    very challenging one. It's hard to say anything useful without the
    source code - for sure there'll be people here who'll be interested to
    have a look at it, and probably some experts who'll be able to give you
    good advice, so why not post the code, or put it on a website and post a
    link?
     
    Antoninus Twink, Apr 10, 2008
    #3
  4. Guest

    Re: Extract en recognize barcode from image file.

    On 11 avr, 00:47, Antoninus Twink <> wrote:
    > On 10 Apr 2008 at 22:30, wrote:
    >
    >
    >
    > > I've been working on recognizing EAN barcodes from images. Yes it's
    > > about recognizing barcodes from images but from bars not from the
    > > digit with the help of OCR software but with "Open Computer Vision
    > > library" (OpenCV).

    > [snip]
    > > I don't have the slighest idea at how to do to extract the rectangular
    > > zone of the barcode and then averaging the lines.

    >
    > > Then, I have problems with some barcodes with some reflections, some
    > > bars won't be continue bars so ... it inputs errors and dunno how to
    > > correct it (how to reform correctly the bar since some point are
    > > presents).

    > [snip]
    > > I would like to post the source code but it's more than 100 lines ...
    > > When my problem is resolved, I think I'll contribute to the community
    > > by giving out the sources for recognizing a barcode from image.

    >
    > That sounds like an interesting and worthwhile project, but probably a
    > very challenging one. It's hard to say anything useful without the
    > source code - for sure there'll be people here who'll be interested to
    > have a look at it, and probably some experts who'll be able to give you
    > good advice, so why not post the code, or put it on a website and post a
    > link?


    I'm far from being a master.
    My code is really not good since I've coded this quite fast since I
    was in a hurry at the time I wrote it.

    It doesn't really do anything but it's a good starting point I hope.

    I'm not promising anything about it because I don't forcefully have
    the time but I'll try as usual ;) .

    It would be great if people who want to contribute send their patch to
    me (I didn't set up a versionning system since it's a SMALL project).

    Here it is : http://www.savefile.com/files/1496871

    Have fun

    Kurapix
     
    , Apr 11, 2008
    #4
  5. Kaz Kylheku Guest

    Re: Extract en recognize barcode from image file.

    On Apr 10, 3:30 pm, wrote:
    > Hi there!!!
    >
    > I've been working on recognizing EAN barcodes from images.


    [ snip ]

    > I haven't been successful yet.


    Send the image to a laser printer, and pop up a dialog box telling the
    user to get a commercial scanner + software.

    > Here is my idea at how I should do it :
    > - Image capture
    > - Grays levels
    > - Binarize image
    > - Search the angle with Hough Transform
    > - Rotate the image using the found angle.
    > - Average of several lines for the color of the bars
    > - Convert to binary digit
    > - Convert in decimal


    Rotate the image? Hough transform? What?

    How does laser scanning work? it cris-crosses the image with a
    laserbeam that is rapidly deflected by mirrors. The beam scatters with
    an intensity that depends on the amount of pigmentation in the bar
    code. Fluctuations in the reflected intensity are captured; from this
    signal, the data packet is detected, if possible. Garbage signals are
    rejected by error detection. There are patterns in the signal which
    indicate the start and end of data, and patterns that code the digits.

    You could simulate this lasert beam traversal of the image at various
    angles using, guess what, the Bresenham line drawing algorithm.
    Averaging a few surrounding pixels along the way would give you the
    intensity signal to feed to the receiver arlgorithm.

    Just like the laser scanner at the grocery checkout counter, you can
    try several crossings at a number of orientations, until you can
    successfully decode a piece of data.

    There is no need whatsoever to rotate the image.

    Doh?

    Four orienations might be enough: - \ | /. Eight is probably better.
    This pattern could be tried at various horizontal and vertical
    displacements across the image.

    > I don't have the slighest idea at how to do to extract the rectangular
    > zone of the barcode and then averaging the lines.


    No such depth image recognition is required.

    You aren't writing software to read car license plates from security
    camera output!

    Remember, bar codes were deliberately designed to make scanning easy.
     
    Kaz Kylheku, Apr 11, 2008
    #5
  6. Kaz Kylheku Guest

    Re: Extract en recognize barcode from image file.

    On Apr 10, 3:47 pm, Antoninus Twink <> wrote:
    > That sounds like an interesting and worthwhile project, but probably a
    > very challenging one.


    I'd give my boss a four day estimate to have this code complete, put
    through basic tests and ready for beta testing by the QA team.
     
    Kaz Kylheku, Apr 11, 2008
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Claudio Grondi

    Python OpenCV wrapper

    Claudio Grondi, Sep 6, 2005, in forum: Python
    Replies:
    0
    Views:
    7,507
    Claudio Grondi
    Sep 6, 2005
  2. Claudio Grondi
    Replies:
    1
    Views:
    1,405
    Claudio Grondi
    Dec 21, 2005
  3. aneuryzma

    openCV and ogre3d

    aneuryzma, Jun 20, 2008, in forum: C++
    Replies:
    1
    Views:
    456
    red floyd
    Jun 20, 2008
  4. T

    OpenCV Object Detection

    T, Jul 15, 2011, in forum: Python
    Replies:
    0
    Views:
    751
  5. Varsha Holla

    image processing in python and opencv

    Varsha Holla, Mar 9, 2014, in forum: Python
    Replies:
    2
    Views:
    140
    Mark H. Harris
    Mar 10, 2014
Loading...

Share This Page