image denoising using Directional Weighted Median Filter (DWM)

  • Follow


I am unable to write the code for Directional Weighted Median Filter (DWM) for removing RVIN.please help me ,details of Directional Weighted Median Filter (DWM) are as follows:

This filter uses a new impulse detector, which is based on
the differences between the current pixel and its neighbours aligned with four
main directions. After impulse detection, it does not simply replace noisy pixels
identified by outputs of median filter but continue to use the information of the
four directions to weight the pixels in the window in order to preserve the details
as removing noise. First it considers a 5X5 window. Now it considers the four
directions: horizontal, vertical and two diagonal. Each direction there is 5 pixel
points. It then calculates the weighted difference in each direction and takes the
minimum of them. The minimum value is compared with a threshold value and
if it is greater than the threshold value then it is a noisy pixel otherwise not. In
filtering phase, it calculates the standard deviation in four directions. Because the
standard deviation describes how tightly all the values are clustered around the
mean in the set of pixels shows that the four pixels aligned with this direction are
the closest to each other. Therefore, the center value should also be close to them.
Now it calculates the weighted median, giving extra weight on that direction in
which direction standard deviation is small and replaces the noisy pixel with this
median value. It is an iterative method. This method repeats 8 to 10 times.
1
Reply arti 1/9/2011 12:54:06 PM

Should be easy to implement with nlfilter().  How can we help?
0
Reply ImageAnalyst 1/9/2011 2:40:26 PM


ImageAnalyst <imageanalyst@mailinator.com> wrote in message <0bc09cd2-d363-4a9c-a61e-8baf4a9244f8@a10g2000vby.googlegroups.com>...
> Should be easy to implement with nlfilter().  How can we help?

 Sir can you please tell me how to use this filter() for noise removal ?  
0
Reply arti 2/20/2011 3:20:39 PM

arti:
I can't write your whole app for you.  nlfilter() tells you how to use
it.  Here's another example:
% Perform a variance filter.
% Output image is the variance of the input image in a 3 by 3 sliding
window.
VarianceFilterFunction = @(x) var(x(:));
varianceImage = nlfilter(grayImage, [3 3], VarianceFilterFunction);


You could also use blockproc - just make sure you pass in the largest
block that you'll ever need.
ImageAnalyst
0
Reply ImageAnalyst 2/20/2011 3:28:25 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <027e6021-8880-467a-b1e7-654016a66527@l14g2000pre.googlegroups.com>...
> arti:
> I can't write your whole app for you.  nlfilter() tells you how to use
> it.  Here's another example:
> % Perform a variance filter.
> % Output image is the variance of the input image in a 3 by 3 sliding
> window.
> VarianceFilterFunction = @(x) var(x(:));
> varianceImage = nlfilter(grayImage, [3 3], VarianceFilterFunction);
> 
> 
> You could also use blockproc - just make sure you pass in the largest
> block that you'll ever need.
> ImageAnalyst

Okk sir I will try this.Thnks 
0
Reply arti 2/21/2011 2:59:05 PM

"arti gautam" wrote in message <ijtujp$8qr$1@fred.mathworks.com>...
> ImageAnalyst <imageanalyst@mailinator.com> wrote in message <027e6021-8880-467a-b1e7-654016a66527@l14g2000pre.googlegroups.com>...
> > arti:
> > I can't write your whole app for you.  nlfilter() tells you how to use
> > it.  Here's another example:
> > % Perform a variance filter.
> > % Output image is the variance of the input image in a 3 by 3 sliding
> > window.
> > VarianceFilterFunction = @(x) var(x(:));
> > varianceImage = nlfilter(grayImage, [3 3], VarianceFilterFunction);
> > 
> > 
> > You could also use blockproc - just make sure you pass in the largest
> > block that you'll ever need.
> > ImageAnalyst
> 
> Okk sir I will try this.Thnks 

Hi arti gautam
i just want to know that you have completed this code or not if you have completed this code will you please give me favor to give this code so i can save my time .waiting for your reply
0
Reply hussaindawood2002 (3) 10/9/2012 2:27:08 AM

"Hussain" wrote in message <k5021s$ms7$1@newscl01ah.mathworks.com>...
> "arti gautam" wrote in message <ijtujp$8qr$1@fred.mathworks.com>...
> > ImageAnalyst <imageanalyst@mailinator.com> wrote in message <027e6021-8880-467a-b1e7-654016a66527@l14g2000pre.googlegroups.com>...
> > > arti:
> > > I can't write your whole app for you.  nlfilter() tells you how to use
> > > it.  Here's another example:
> > > % Perform a variance filter.
> > > % Output image is the variance of the input image in a 3 by 3 sliding
> > > window.
> > > VarianceFilterFunction = @(x) var(x(:));
> > > varianceImage = nlfilter(grayImage, [3 3], VarianceFilterFunction);
> > > 
> > > 
> > > You could also use blockproc - just make sure you pass in the largest
> > > block that you'll ever need.
> > > ImageAnalyst
> > 
> > Okk sir I will try this.Thnks 
> 
> Hi arti gautam
> i just want to know that you have completed this code or not if you have completed this code will you please give me favor to give this code so i can save my time .waiting for your reply.

Sorry I did not complete this code.
0
Reply arti.gautam (18) 10/9/2012 5:35:08 AM

6 Replies
787 Views

(page loaded in 0.094 seconds)

Similiar Articles:













7/22/2012 10:37:34 PM


Reply: