Products | Support | Send comments on this topic. | Email a link to this topic. | Back to Getting Started | Help Version 18.0.11.1
LEADTOOLS Raster Imaging C DLL Help

L_AnalyzeBarcode

Show in webframe

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT L_AnalyzeBarcode(pBitmap, pBCType, pBCLoc, uFlags)

pBITMAPHANDLE pBitmap;

/* pointer to the bitmap */

L_INT* pBCType;

/* address to a variable */

L_RECT* pBCLoc;

/* pointer to structure */

L_UINT32 uFlags;

/* flags */

Detects various types of barcode and returns their dimensions.

This function is available in the Document and Medical Imaging toolkits.

Parameter

Description

pBitmap

Pointer to the bitmap handle referencing the bitmap on which to perform barcode detection.

pBCType

Address to a variable to be updated with the type of the barcode. Possible values are:

 

Value

Meaning

 

BARCODE_TYPE_UNKNOWN

[0x0000] Unknown barcode.

 

BARCODE_TYPE_1D

[0x0001] 1D barcode.

 

BARCODE_TYPE_QR

[0x0002] QR barcode.

 

BARCODE_TYPE_DATAMATRIX

[0x0003] Data matrix barcode

pBCLoc

Pointer to a structure to be updated with the location of the detected barcode.

uFlags

Flag that determines the type of the binarization method used to detect the barcode. Possible values are:

 

Value

Meaning

 

USE_DEFAULT

[0x0001] Binarization method based on the type of barcode.

 

USE_AUTODOCUMENTBINARIZATION

[0x0002] Use the document binarization method.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.

This function detects the barcode inside the image by converting the image first to a black and white.

This function works only on 1-bit black and white images.

If a region is selected, only the selected region will be changed by this function. If no region is selected, the whole image will be processed.

This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.

Required DLLs and Libraries

LTIMGCOR

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64.

See Also

Functions:

LINEREMOVECALLBACK, L_SmoothBitmap, L_BorderRemoveBitmap, L_InvertedTextBitmap, L_DotRemoveBitmap, L_HolePunchRemoveBitmap, L_BlankPageDetectorBitmap, L_AutoBinarizeBitmap, L_DynamicBinaryBitmap, L_AutoBinaryBitmap, L_InvertedPageBitmap

Topics:

Cleaning Up 1-Bit Images

 

Raster Image Functions: Cleaning Up 1-Bit Images

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT BarCodeAnalyzeBitmapExample(L_VOID)
{
   L_INT nRet;
   BITMAPHANDLE LeadBitmap;   /* Bitmap handle for the image */
   /* Load a bitmap at its own bits per pixel  */
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("MIXED.tif")), &LeadBitmap, sizeof(BITMAPHANDLE), 24, ORDER_BGR, NULL, NULL); 
   if(nRet !=SUCCESS)
      return nRet;
   /* Apply Rev effect on the image*/
   RECT pBCLoc; // the rectangle that will hold the barcode dimensions.
   L_INT pBCType; // the type of the barcode.
   nRet = L_AnalyzeBarcode(&LeadBitmap, &pBCType, &pBCLoc, 0);
   if(nRet !=SUCCESS)
      return nRet;
   nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), &LeadBitmap, FILE_BMP, 24, 0, NULL);
   if(nRet !=SUCCESS)
      return nRet;
   //free bitmap 
   if(LeadBitmap.Flags.Allocated)  
      L_FreeBitmap(&LeadBitmap);  
   return SUCCESS;
}
Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.