L_TextBlurDetector (original) (raw)
Summary
Divides an image it into many blocks, and determines whether each block's background in focus or out of focus.
Syntax
#include "l_bitmap.h"
L_LTIMGCOR_API L_INT L_TextBlurDetector(pBitmap, pNonBlurredBlocks, NonBlurredBlocksCount, pBlurredBlocks, BlurredBlocksCount, CombinedTextBlocks)
Parameters
pBITMAPHANDLE pBitmap
Pointer to the bitmap handle referencing the bitmap to be divided.
L_RECT** pNonBlurredBlocks
Pointer to array of in focus blocks after applying text blur detector.
L_INT* NonBlurredBlocksCount
Pointer to L_INT to be updated with the number of in focus blocks after applying text blur detector.
L_RECT** pBlurredBlocks
Pointer to array of out of focus blocks after applying text blur detector.
L_INT* BlurredBlocksCount
Pointer to L_INT to be updated with the number of out of focus blocks after applying text blur detector.
L_RECT* CombinedTextBlocks
The boundary of text area in the image, that's isn't a background.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
This function supports 8, 12, 16-bit grayscale images and 24, 32-bit colored images.
Required DLLs and Libraries
- LTIMGCOR
- File format DLLs
- 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, Linux.
Example
This example loads a bitmap and applies text blur detector.
L_INT TextBlurDetectorExample(L_VOID)
{
L_INT nRet;
BITMAPHANDLE LeadBitmap; /* Bitmap handle to hold the loaded image. */
/* Load the bitmap, keeping the bits per pixel of the file */
nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT("License_Sample.png")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL);
if (nRet != SUCCESS)
return nRet;
/* Apply text blur detector */
L_RECT* pInFocusBlocks = NULL;
L_INT InFocusBlocksCount = 0;
L_RECT* pOutOfFocusBlocks = NULL;
L_INT OutOfFocusBlocksCount = 0;
L_RECT CombinedTextBlocks = { 0 };
nRet = L_TextBlurDetector(&LeadBitmap, &pInFocusBlocks, &InFocusBlocksCount, &pOutOfFocusBlocks, &OutOfFocusBlocksCount, &CombinedTextBlocks);
L_TextBlurFree(pInFocusBlocks, pOutOfFocusBlocks);
//free bitmap
if (LeadBitmap.Flags.Allocated)
L_FreeBitmap(&LeadBitmap);
return nRet;
}