LBitmap::Skeleton

#include "ltwrappr.h"

virtual L_INT LBitmap::Skeleton(uThreshold, uFlags = 0)

L_UINT uThreshold;

/* threshold value */

L_UINT32 uFlags;

/* flags */

Finds the skeleton of objects or regions in a bitmap.

Parameter

Description

uThreshold

Threshold value used to binarize the bitmap before finding the skeleton. This parameter is ignored if the bitmap is a binary bitmap.  The valid range is from 0 - 65535 for 64-bit, 48-bit and 16-bit grayscale images and from 0 - 4095 for 12-bit grayscale images. Otherwise, it is from 0 to 255.

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 finds the skeleton of regions or objects in a binary bitmap. The white color represents the objects and the black color represents the background. If the bitmap is not a 1-bit image, the threshold will be used to transform the bitmap into a binary image before finding the skeleton.

If the bitmap has a region, this function works only on the region.

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

LTIMGEFX

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

LBitmap::DiffuseGlow, LBitmap::HighPassFilter, LBitmap::MaskConvolution, LBitmapBase::Combine, LBitmap::IntensityDetect, LBitmap::Sharpen, LBitmap::SpatialFilter, LBitmap::EdgeDetector, LBitmap::GlowFilter, LBitmap::Correlation, LBitmap::Skeleton2

Topics:

Detecting and Enhancing Edges and Lines

 

Raster Image Functions: Filtering Images

 

Color Halftones and Halftone Images

 

Raster Image Functions: Detecting and Enhancing Edges and Lines

Example

This example loads a bitmap and finds its edges using LBitmap::EdgeDetector then produces the skeleton of these edges

L_INT LBitmap__SkeletonExample(LAnimationWindow * LAniWnd) 
{
   L_INT nRet;
   /* Find the edges in the bitmap*/
   nRet =LAniWnd->EdgeDetector (60, EDG_SOBEL_ALL);
   if(nRet !=SUCCESS)
      return nRet;
   nRet =LAniWnd->Skeleton(128);
   if(nRet !=SUCCESS)
      return nRet;
   return SUCCESS;
}