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

on 23 Mar 2013

### Anand (view profile)

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.

on 23 Mar 2013
Edited by Anand

### Anand (view profile)

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
```

chitra

### chitra (view profile)

on 24 Mar 2013

I did imshow(filtered_img) the output of which is a black image. The values of maxValue = 0 and minValue = 0. The original iamge is subjected to speckle noise and I intend to filter is with a cross shaped/plus filter.

Anand

### Anand (view profile)

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 (view profile)

on 25 Mar 2013

Yes now it works.So,could you please explain why you are dividing the mask by 2 and using nnz?

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi