if i have no information of original image

if i have no information of original image and i do not add noise manually and i have just noisy image then how can i find signal to noise ratio of noisy image in matlab.

답변 (2개)

Image Analyst
Image Analyst 2012년 12월 27일

0 개 추천

You'd have to guess at what the signal would be then. What kind of guess do you want to make? Do you just want to blur the image with a box like this:
noiseFreeImage = conv2(grayImage, ones(3)/9);

댓글 수: 1

Image Analyst
Image Analyst 2012년 12월 27일
Or
noiseFreeImage = imfilter(double(grayImage), ones(3)/9);
Stefan Karlsson
Stefan Karlsson 2012년 12월 27일

0 개 추천

You need to make assumptions about both your noise and your underlying signal or you cannot hope for anything from just an image observation. The simplest case is additive noise:
I(x) = f(x) + n(x)
for some observed image I, with underlying noise-free signal f (the "true image") and som noise source "n". The simplest assumptions of "n" is that its uncorrelated(have a delta for auto-correlation function).
applying a smoothing of I, with imfilter (i.e a convolution) will be linear operation, (denote convolution with ¤ and a linear smoothing filter as w) so that
I¤w = f¤w + n¤w
If you assume uncorrelated, zero mean noise, then the noise will go to zero even for small filters. However, the energy in the original signal will also reduce as a consequence of the filtering. You will have to make some assumptions on the natural image statistics of your "true signal" f in order to solve this(how much will the energy of your "true signal" reduce due to filtering).
Things become more complicated if you assume that n has some non-trivial auto-correlation function(i.e. has spatial dependency), and even worse if you have multiplicative noise.

이 질문은 마감되었습니다.

질문:

2012년 12월 27일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by