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

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; }