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

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
#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 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C++ Class Library Help