Weighted Median Filter

#include "BIFILTER.H"


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


This function will filter the image by the nonlinear weighted median filter method. This function works for only monochrome, 8 bit per bixel and 24 bit per pixel images. Weighted median filter differs from median filter in that specified pixels within a local neighborhood are repeated a given number of times in the computation of the median value. Definition of the weighted median filter is :

WeightedMedian(A)=Median[Repeat StrMask(i,j) times {A(x+i,y+j)}]

where the coordinate (x+i, y+j ) is defined over the image A and the coordinate (i, j) is defined over the structuring mask of StrFunc structuring function.


Description: Gauss                                    Description: wmedian

The original 256 x 256 pixel image corrupted by additive Gauss noise and the weighted median filtered image using structuring mask.




Handle of the DIB to filter.



This parameter specifies the structuring function used by weighted median filter. If StrFunc parameter is NULL, weighted median filter will be processed by the Structuring Function mentioned at the examples above. StrE structure is defined at Chapter Data Structures at Data Structures Using Morphological Operations And Weighted Filters.



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 , BIDlgs32.dl.