Closing (grayscale)

#include "BIFILTER.H"


HANDLE CALLBACK GrayScaleClosing(              HDIB            hDIB,
StrE        *StrFunc,
int           iShowProgress,
HWND  hParent)


This function will morphologically close the grayscale image. The function works for only 8 bit per pixel images. Morphological closing of a grayscale image is defined as the dilation of that image followed by the erosion of the dilated image. The closing filter operation will reduce small negatively oriented graylevel regions and negative graylevel noise regions generated from salt and pepper noise.


Description: jozsigray                                                                Description: jozsiclosed

The original 705 x 991 pixel grayscale image  and the closed image processed by a 3 x 3 pixel, all zero structuring function.




Handle of the DIB to filter.



This parameter specifies the structuring function used by dilation and erosion. If StrFunc parameter is NULL, grayscale closing will be processed by a 3 x 3 pixel, all zero 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 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.