LEADTOOLS Raster Imaging C DLL Help > Function References > l_analyzebarcode |
#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
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64.
See Also
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; }