ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Barcode scanner recognizes non existing I2of5 bar codes in image

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
matjazu Posted - May 19 2022 : 06:43:22
Hi.

We're using TIEVisionBarCodeScanner to recognize bar codes an QR code images in scanned documents. Usually there is one Code39, one QR code and optionally one I2of5 bar code. The problem is that scanner "recognizes" bar code I2of5 on some images that don't contain this bar code. I have attached a simple program and some sample files with this kind of images. We only have problem with JPG image, if we convert image to TIF, scanner doesn't recognize this (phantom) bar code.
For demonstration purposes attachment contains:
- image 000001 (jpg and tif): this is file that contains I2of5 bar code (scanner recognizes that correctly)
- other images have the same names as bar code that is incorrectly recognized.

Thanks for help,


Matjaz Urank

attach/matjazu/20225196423_ImageEnBarCodeTest.zip
1618.3 KB

MU
2   L A T E S T    R E P L I E S    (Newest First)
matjazu Posted - May 20 2022 : 07:16:34
Thank you, Nigel.

Regards, Matjaz

MU
xequte Posted - May 19 2022 : 14:54:44
Hi Matjuz

It looks like a flaw in the Zbar algorithm, you might want to skip null sized results.

    for i := 0 to m_symbols.size() - 1 do
    begin
      if Exclude_Dubious_Results and
         ( TIEVisionBarCodeSymbol( m_symbols.getObj(i) ).getBoundingBox().Width <= 1 ) and
         ( TIEVisionBarCodeSymbol( m_symbols.getObj(i) ).getBoundingBox().Height <= 1 ) then
        Continue;

      n := TreeViewResults.Items.AddChild(nil, IntToStr(i));
      s := TIEVisionBarCodeSymbol( m_symbols.getObj(i) );
      ...
      ...
      ...


Nigel
Xequte Software
www.imageen.com