how to get SNR for 2 images

5 次查看(过去 30 天)
Rawan hamdi
Rawan hamdi 2013-4-11
hi,
i have 2 images and i would like to get SNR between these 2 images. i have an original clean image which is X0, i added some noise to it and the noisy image is Xn

回答(1 个)

Kye Taylor
Kye Taylor 2013-4-11
编辑:Kye Taylor 2013-4-11
You'll get different answers, depending on who you're talking to.
I would suggest using
snr = 20*log(norm(X0,'fro')/norm(X0-Xn,'fro'))
  3 个评论
Kye Taylor
Kye Taylor 2013-4-11
Check it....
Define a function handle to compute the SNR of images, relative to the clean image X0:
g = @(X)20*log(norm(X0,'fro')/norm(X0-X,'fro'))
Then, you can compute the SNRs of your two images like
snrOfXn = g(Xn);
snrOfXX = g(XX);
How rad is that?
The higher the SNR, the better the denoising process. In other words, if XX is denoised version of Xn, you should see snrOfXn < snrOfXX
Rawan hamdi
Rawan hamdi 2013-4-11
i'm sorry im new to matlab but how can i define this function?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by