1

I am using Wiener filter for deblurring an image.

http://www.mathworks.it/it/help/images/ref/deconvwnr.html

The important snippet is here:

estimated_nsr = noise_var / var(I(:));
wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr);

The problem is that deconwnr needs an estitmate of NSR calculated with the original image I.
But I don't have the original image, I have only the blurred_noisy image.

What value should I pass as estmated_nsr?

1 Answers1

1

If NSR is Noise to Signal Ratio then wouldn't you have to just guess at how noisy the original image was? So you could use NSR=0 and assume there is no noise on the original image.

user1860611
  • 529
  • 1
  • 4
  • 16
  • Perhaps without an estimate of the original image's NSR you may need to look into some other functions like deconvblind or deconvreg. – user1860611 Dec 20 '12 at 17:28
  • 1
    using the property var(X-Y)=var(X)+var(Y)-2Cov(X,Y) can you say var(original)=var(blurred)+var(noise)-2*cov(blurred,noise) and assume cov(blurred,noise)=0 ? – user1860611 Dec 21 '12 at 16:58
  • Using var(X+Y) = var(X)+var(Y)+2covar(X,Y), and X=original, Y=noise, (X+Y)=blurred, covar(X,Y)=0, and solving for var(original) I think a better solution may be `estimated_nsr=noise_var / (var(blurred_noisy(:))-noise_var);` Try it out and let me know if it's any better – user1860611 Dec 21 '12 at 21:57