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

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Barcode at an angle
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

TimMurfitt

United Kingdom
3 Posts

Posted - Dec 19 2013 :  03:33:16  Show Profile  Reply
Presently i am using a third party software product to read the barcodes in scanned documents and then use ImageEn to process the document. This works well but it would be better if i could integrate the barcode reading using IEVision.

I have downloaded the barcode reading demo and can see that this works well provided that the barcode is horizontal or vertical on the page. I have not tested it at all angles but i have found that if it is more than 20 degrees out then it will not read. This is a real issue for me as in my situation the barcode is printed onto a small label before being stuck on the page. There is no guarantee that users in the field will stick the label on at the correct angle. I have attached my test file.

Can the barcode reader be made to read at any angle?

Tim

w2m

USA
1990 Posts

Posted - Dec 19 2013 :  07:57:52  Show Profile  Reply
I don't know about the barcode reader, but I have two ideas to try to Deskew the image:

1. Try using Deskew, then read the barcode.
procedure TForm1.DeSkew1Click(Sender: TObject);
{ DeSkew. }
var
  i: double;
begin
   i := ImageEnView.Proc.SkewDetection;
   ImageEnView.Proc.RotateAndCrop(i);
   ImageEnView.Bitmap.Modified := True;
   ImageEnView.Update;
end;


2. If you have a touch enabled monitor you can also rotate the image with touch. It is very easy to correctly deskew an image:
a. Scan the barcode into an added layer
b. call this code

ImageEnView.MouseInteract := [miMoveLayers, miResizeLayers, miRotateLayers];
ImageEnView.Gestures.Pan.Enabled := False;
ImageEnView.Gestures.Zoom.Enabled := False;
ImageEnView.Gestures.LayerRotate.Enabled := True;
ImageEnView.Gestures.LayerMove.Enabled := False;

c. Rotate the image with two fingers until the rotation angle approaches the correct angle.

I have the Deskew and Touch enabled layer rotation in my test scanner application and both work nicely. Either way should solve your problem. Note: I have not tried to read the barcode with IEVision after deskewing.

William Miller
Adirondack Software & Graphics
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html
Go to Top of Page

TimMurfitt

United Kingdom
3 Posts

Posted - Dec 19 2013 :  09:14:39  Show Profile  Reply
William

Thanks for the suggestion but i dont think deskewing is the answer. The document is straight but the barcode label is not necessarily stuck on straight. Deskewing the label would then skew the document which is not acceptable. Also the barcode reading is part of an automated document management system processing hundreds of documents a day. Manual intervention is not a solution except for the very odd exception (ie when someone has not put a barcode on the document).

Thanks

Tim
Go to Top of Page

w2m

USA
1990 Posts

Posted - Dec 19 2013 :  09:54:45  Show Profile  Reply
Tim,

I do not know if this helps, but if the barcode image is in a layer only the barcode image would be de-skewed, not the entire document.


William Miller
Go to Top of Page

TimMurfitt

United Kingdom
3 Posts

Posted - Dec 19 2013 :  10:07:07  Show Profile  Reply
William

Thanks for the input but i dont think its the answer. The document and barcode are scanned as one and therefore there is only one layer that i am working with. I need the barcode to be read at any angle without deskewing. Also just to complicate it there could be multiple barcodes on the document all at differing angles. I need to be able to read them all (and also know where on the page they are) without manual intervention. I can do that presently with my third party software but would like to be able to do that with IEVision. At the moment i dont seem to be able to do it.

Tim
Go to Top of Page

tifanny

1 Posts

Posted - Mar 12 2014 :  00:10:18  Show Profile  Reply
As I know, nearly all barcode readers contain decoder circuitry analyzing the barcode's image data provided by the sensor and sending the barcode's content to the scanner's output port.
Go to Top of Page

Marius

Netherlands
23 Posts

Posted - Jul 11 2014 :  12:08:20  Show Profile  Reply
For the record; Even barcodes at ~5 degrees are not recoqnized or just sometimes. For now its not a solution for real world applications, only time will tell if it will get any better.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: