Outlining (binary)

#include "BIFILTER.H"


HANDLE CALLBACK BinaryOutlining( HDIB      hDIB,
StrE         *StrFunc,
BOOL     OuterCont,
BOOL     BackGrndisBlack,
int            iShowProgress,
HWND    hParent)


Binary outlining of an object is the process of changing all of an object’s pixels to the background graylevel value except those pixels that lie on the object’s contour. The function works for only 1 bit per pixel images. Binary outlining is defined as the eroded image substracted from the original image (inner contour) or the original image substracted from the dilated image (outer contour).


Description: kepdoksiba11                     Description: kepdoksiba12

The original 44 x 25 pixel image and its outer contour processed by a 3 x 3 pixel, all one structuring function.




Handle of the DIB to filter.



This parameter specifies the structuring function used by dilation or erosion. If  StrFunc parameter is NULL, binary outlining will be processed by a 3 x 3 pixel, all one structuring function. StrE structure is discussed in Chapter Data Structures at Data structure used by Morphological Operations and Weighted Filters entry.



This parameter specifies the required contour type.



This parameter specifies the color of the object and background.



This parameter specifies the displaying of the progressbar and the preview dialog.

Available values:

DISPLAY_NONE (0)      -     The progressbar and the preview dialog will not display before filtering.

DISPLAY_PROGRESS (1) -The progressbar will display during filtering procedure.

DISPLAY_DIALOG (2) -     The preview dialog will display before filtering. This dialog shows the part of the image before and after filtering.

DISPLAY_BOTH (3)      -     The progressbar and the preview dialog will display.

IMPORTANT: The preview dialog will only display, if there is BiDlgs.dll installed.



Handler of the parent window.

Return values

The handle of the new filtered DIB or NULL if an error occurred.

Programming notes

The function will not free the input DIB.


Header :    Declared in BIFilter.h; include BIFilter.h.

Library :    Use BIFilter.lib.

DLLs :       BIFilter.dll, BiDlgs.dll.