Median Filter

#include "BIFILTER.H"

 

HANDLE CALLBACK FilterMedian( HDIB      hDIB,
int            N,
int            iShowProgress,
HWND    hParent)

Description

This function will filter the image by the nonlinear median filter method. This function works for only monochrome, 8 bit per bixel and 24 bit per pixel images. A median filter operation on an image removes long tailed noise such as negative exponential and salt and pepper type noise from the image with a minimum blurring of the image. Median filter is defined as :

Median(A) = median[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 N x N size square mask.

Examples

Gauss                                    median

The original 256 x 256 pixel image corrupted by additive Gauss noise and the median filtered image using a 5 x 5 pixel square mask.


Parameters

HDIB

hDIB

Handle of the DIB to filter.

int

N

This parameter specifies the size of the square mask. N cannot be less than 1. See the description and examples above for further information and a possible value.

int

iShowProgress

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.

HWND

hParent

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.

Requirements

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

Library :    Use BIFilter.lib.

DLLs :       BIFilter.dll , BIDlgs32.dl.