How to design a 5by5 ,5cross and X-1 median filter

6 views (last 30 days)
I need to filter speckle noise from a noisy image by the application of 5*5 median filter,cross shaped median filter and a X-1 shaped median filter. I just cannot understand and do the code for it. Request for code.Thank you.

Accepted Answer

Anand
Anand on 23 Mar 2013
Edited: Anand on 25 Mar 2013
You can use the following two functions:
Here's an example:
out = medfilt2(im,[5 5]); %5x5 neighborhood
For a neighborhood that is not all 1's, use
nhood = [1 0 0 0 1;...
0 1 0 1 0;...
0 0 1 0 0;...
0 1 0 1 0;...
1 0 0 0 1;];
out = ordfilt2(im,ceil(nnz(nhood)/2),nhood); %cross-shaped neighborhood
  8 Comments
Anand
Anand on 25 Mar 2013
I just realized the mistake in my call to ordfilt2. Here's how you use it:
out = ordfilt2(im,ceil(nnz(nhood)/2),nhood);
The domain has nnz(nhood) non-zero elements, and so the median is the (nnz(nhood)/2)th element.
chitra
chitra on 25 Mar 2013
Yes now it works.So,could you please explain why you are dividing the mask by 2 and using nnz?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!