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 at an angle

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
TimMurfitt Posted - Dec 19 2013 : 03:33:16
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

6   L A T E S T    R E P L I E S    (Newest First)
Marius Posted - Jul 11 2014 : 12:08:20
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.
tifanny Posted - Mar 12 2014 : 00:10:18
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.
TimMurfitt Posted - Dec 19 2013 : 10:07:07
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
w2m Posted - Dec 19 2013 : 09:54:45
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
TimMurfitt Posted - Dec 19 2013 : 09:14:39
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
w2m Posted - Dec 19 2013 : 07:57:52
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