calculating PSNR

I have two images original image and compressed image,please tell how to calculate mean square error and psnr

 采纳的回答

Image Analyst
Image Analyst 2012-3-21

0 个投票

Did you see the formula at http://en.wikipedia.org/wiki/PSNR? Of course you can just subtract the images and use the sum() function instead of the loops, which I know you know how to do. Just make sure you use .^2 instead of ^2 because you want an element-by-element squaring. Give it a try - it's just one line of code.

3 个评论

kash
kash 2012-3-21
[M N] = size(origImg);
error = origImg - compImg;
MSE = sum(sum(error .* error)) / (M * N);
is it corect Mr.Analyst
Looks like it should be as long as origImg & compImg are floating point images and not uint8 or uint16. I was thinking of something like
MSE = mean2((single(image1) - single(image2)).^2);
kash
kash 2012-3-22
Thanks MR.Analyst

请先登录,再进行评论。

更多回答(1 个)

The Wavelet Toolbox has a function for this, measerr()
>>doc measerr

2 个评论

kash
kash 2012-3-21
Wayne i am getting page not found,am using 2010a
introduced in R2010b

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by