LBitmap::SearchRegMarks

#include "ltwrappr.h"

virtual L_INT LBitmap::SearchRegMarks (pSearchMarks, uMarkCount, uFlags = 0)

pSEARCHMARKS pSearchMarks;

/* array describing the registration marks to be found */

L_UINT uMarkCount;

/* size of array */

L_UINT32 uFlags;

/* flags */

Searches bitmap object for the registration marks according to the information in pSearchMarks.

Parameter

Description

pSearchMarks

Pointer to an array of SEARCHMARKS structures describing all the characteristics of the registration marks.

uMarkCount

Number of elements in pSearchMarks.

uFlags

Reserved for future use. Must be 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function searches the bitmap for registration marks. The pSearchMarks array contains the information about the registration marks. Declare the array before calling the function. You should specify the following:

Member

Description

uStructSize

The size of SEARCHMARKS structure. (you only need to fill the first element of the array).

uType

Type of registration marks. Possible values are:

 

Value

Meaning

 

RGS_T

[0x0000] T-shape registration mark.

 

Currently, only one registration mark is defined (T-shape).

uWidth and uHeight

The width and height (in pixels) of the registration marks.

uMinScale and uMaxScale

The minimum and maximum scale percentages (percentage, where 100 = 100%).

rcRect

The search region.

uMarkSearchCount

The number of expected marks in each search region.

pMarkDetectedCount

An array large enough to contain uMarkSearchCount POINT structures. The function will store the registration mark positions in this array.

The function will update each member of the pSearchMarks array with information about the detected registration marks:

The uMarkDetectedCount member will be updated with number of detected marks in that area.

The pMarkDetectedPoints member will be updated with the position of the detected marks.

You can call LBitmap::GetTransformationParameters to get the transformation parameters, which can be applied to this bitmap to make it match the reference image.

To update a status bar or detect a user interrupt during execution of this function, refer to LBase::EnableStatusCallback.

If you simply want to automatically straighten a bitmap, use the LBitmap::Deskew function.

This function supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.

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

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:

LBitmapBase::Combine, LBitmapBase::Rotate, LBitmapBase::Size, LBitmapBase::Resize, LBitmap::IsRegMark, LBitmap::GetTransformationParameters, LBitmap::GetMarksCenterMass, LBitmapBase::SizeInterpolate

Topics:

Raster Image Functions: Document Imaging

 

Detecting Registration Marks

Example

For an example, refer to LBitmap::GetTransformationParameters.