Info
此问题已关闭。 请重新打开它进行编辑或回答。
if i have no information of original image
1 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(2 个)
Image Analyst
2012-12-27
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 个评论
Stefan Karlsson
2012-12-27
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.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!