Hybrid median filtering

HMF performs hybrid median filtering of a 2-D array or an RGB image
3.6K Downloads
Updated 25 Feb 2010

View License

B = HMF(A,N) performs hybrid median filtering of the matrix A using a NxN box. Hybrid median filtering preserves edges better than a NxN square kernel-based median filter because data from different spatial directions are ranked separately. Three median values are calculated in the NxN box: MR is the median of horizontal and vertical R pixels, and MD is the median of diagonal D pixels. The filtered value is the median of the two median values and the central pixel C: median([MR,MD,C]).

B = HMF(A) uses N = 5 (default value).

A can be a 2-D array or an RGB image. If A is an RGB image, hybrid median filtering is performed in the HSV color space.

Notes
------
1) N must be odd. If N is even then N is incremented by 1.
2) The Image Processing Toolbox is required.
3) If the function NANMEDIAN exists (Statistics Toolbox), NaNs are treated as missing values and are ignored.

Example
--------
% original image
[I,map] = imread('trees.tif');
I = ind2rgb(I,map);
% noisy image
J = imnoise(I,'salt & pepper',0.02);
% hybrid median filtering
K = hmf(J,9);
% figures
subplot(121),imshow(J),subplot(122),imshow(K)

------
Other examples are given in:
http://www.biomecardio.com/matlab/hmf.html
-----

Cite As

Damien Garcia (2026). Hybrid median filtering (https://in.mathworks.com/matlabcentral/fileexchange/25825-hybrid-median-filtering), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Images in Help Center and MATLAB Answers
Acknowledgements

Inspired: hmf1(A,n)

Version Published Release Notes
1.1.0.0

Test for RGB has been improved. RGB output and input have same class.

1.0.0.0