LBitmap::AutoPageSplitter

#include "ltwrappr.h"

virtual L_INT LBitmap::AutoPageSplitter(pOutBitmap, SplittingCoord)

pBITMAPHANDLE pOutBitmap;

pointer of BITMAPHANDLE array

L_UINT* SplittingCoord;

column number of the splitting point

Automatically splits document images that have two pages inside it.

Parameter Description
pOutBitmap Pointer of BITMAPHANDLE[2] array, the first element will be filled with the left page, and the second element with the right page.
SplittingCoord Pointer to a variable to be updated with the column number of the splitting point.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Finds and split a two-page documents.

Input image should contain two pages, horizontally, side-by-side.

This function allocates two new bitmaps with same original document dimensions.

This function can only process entire images. It does not support regions.

This function supports 24- and 36-bit color images and 8- grayscale images.

The returned bitmap is 1-bit depth.

Required DLLs and Libraries

LTDIS
LTFIL
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:

LBitmap::ExpandPage, Class Members

Example

#if defined (LEADTOOLS_V19_OR_LATER) 
L_INT LBitmap__AutoPageSplitterExample(L_VOID) 
{ 
    L_INT nRet; 
    LBitmap LeadBitmap; 
 
    nRet =LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("ScannedBook.jpg")), 0,ORDER_BGR); 
    if(nRet !=SUCCESS) 
        return nRet ; 
 
    /* Apply border remove filter to clean up black borders*/ 
    nRet = LeadBitmap.BorderRemove(NULL, BORDER_SMART_AUTO_REMOVE) ; 
    if (nRet != SUCCESS) 
    { 
        return nRet ; 
    } 
 
    /* Apply Page splitter*/ 
    BITMAPHANDLE OutBitmap[2] ; 
    OutBitmap[0].Flags.Allocated = 0 ; 
    OutBitmap[1].Flags.Allocated = 0 ; 
    L_UINT SplitterCoordinates = 0 ; 
    nRet = LeadBitmap.AutoPageSplitter(OutBitmap, &SplitterCoordinates) ; 
    if (nRet != SUCCESS) 
    { 
        return nRet ; 
    } 
 
    nRet = LeadBitmap.ExpandPage(&(OutBitmap[0])); 
 
    if(OutBitmap[0].Flags.Allocated) 
        L_FreeBitmap(&OutBitmap[0]) ; 
 
    if(OutBitmap[1].Flags.Allocated) 
        L_FreeBitmap(&OutBitmap[1]) ; 
 
    return nRet ; 
} 
#endif // LEADTOOLS_V19_OR_LATER 
Help Version 20.0.2019.9.23
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help