Welcome Guest! To enable all features, please Login or Register.



Last Go to last post Unread Go to first unread post
#1 Posted : Thursday, January 10, 2008 11:42:12 AM(UTC)


Groups: Registered, Tech Support, Administrators
Posts: 769

Sometimes images with barcodes cannot be read as-is.  Many times you can get them to read by simply converting an image to black and white and running L_IntensityDetectBitmap (CLIB - LBitmap::IntensityDetect / .NET - IntensityDetectCommand).  However, this isn't always sufficient.  These demos are meant to show another combination of preprocessing you can do that works for many images.

The first function is L_AutoColorLevelBitmap (CLIB - LBitmap::AutoColorLevel / .NET - AutoColorLevelCommand).  This function helps images with barcodes because it makes dark portions darker and light portions  lighter.  You can tweak this function by using one of the different types of auto leveling (Level, Contrast, or Intensity) and also with the White Clip and Black Clip.  In this demo, I used the Level type of auto leveling and used 30% white and 1% black.

The second function is L_DynamicBinaryBitmap (CLIB - LBitmap::DynamicBinary / .NET - DynamicBinaryCommand).  This function is similar to L_IntensityDetect in that it converts the image to black and white, but it gives you a little more control.  You can tweak this by changing the Dimension and Local Contrast.  In this demo, I used a Dimension of 9 and a Local Contrast of 16.

Attached are four images which you probably won't be able to read the barcode without preprocessing.  Additionally, there are three identical projects: VC++ 8 using the LEADTOOLS API, VC++ 8 using the LEADTOOLS Class Library, C# 2.0 using the LEADTOOLS .NET.

NOTE: To use this demo, you will need to unlock support for BARCODES_1D, BARCODES_DATAMATRIX_READ, BARCODES_PDF_READ, and  LTPRO.  If you are evaluating the toolkit, then you need not worry about unlocking.  If you have purchased the toolkit but do not have these unlock keys, you can use the NAG kernel which will not require you to unlock anything (please contact support@leadtools.com if you do not know how to use the NAG kernel).  If you have purchased the toolkit and the necessary barcode add-ons, you must contact sales@leadtools.com to get them.

Here are some additional functions not covered in these demos which are useful for pre-processing images to improve barcode recognition results:

L_ColorLevelBitmap (CLIB - LBitmap::ColorLevel / .NET - ColorLevelCommand)
L_AutoBinaryBitmap (CLIB - LBitmap::AutoBinary / .NET - AutoBinaryCommand)
L_HistoEqualizeBitmap (CLIB - LBitmap::HistoEqualize / .NET - HistogramEqualizeCommand)
L_LightControlBitmap (CLIB - LBitmap::LightControl / .NET - LightControlCommand)

If you have any additional questions or problems with these demos, please send an email to support@leadtools.com.
File Attachment(s):
Barcode Preprocessing Demos.zip (211kb) downloaded 44 time(s).

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Tuesday, May 5, 2009 10:11:59 AM(UTC)


Groups: Registered, Tech Support, Administrators
Posts: 769

Attached is another preprocessing demo.  This uses our Minimum (L_MinFilterBitmap / LBitmap::MinFilter / MinimumCommand), Median (L_MedianFilterBitmap / LBitmap::MedianFilter / MedianCommand), and Maximum (L_MaxFilterBitmap / LBitmap::MaxFilter / MaximumCommand) filters for processing images to improve the recognition results of damaged DataMatrix barcodes.  With these functions you can repair most DM barcodes that have artifacts such as lines and scribbles drawn through them that cause them to fail at first. 

You will need to unlock support for DOCUMENT and BARCODES_DATAMATRIX_READ.

Attached are three demos:
1. VC++ 2005 using our v16 CDLL interface
1. VC++ 2005 using our v16 CLIB interface
1. C# 2005 using our v16 .NET interface

There are also some example images that will fail the first time you try to read them, but after applying a filter will be read correctly.
File Attachment(s):
#3 Posted : Thursday, September 5, 2013 8:46:48 AM(UTC)


Groups: Manager, Tech Support, Administrators
Posts: 171

Was thanked: 5 time(s) in 5 post(s)

I have updated the CS example to use Visual Studio 2010 and v18 of the toolkit.
File Attachment(s):
v18Port.zip (230kb) downloaded 36 time(s).
Hadi Chami
Developer Support Manager
LEAD Technologies, Inc.

You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2017, Yet Another Forum.NET
This page was generated in 0.299 seconds.