How to calcualte psnr of images of two different size?
1 次查看(过去 30 天)
显示 更早的评论
I am having one image 0f 500 * 500 size. I have resized it to 250 * 250. How to calculate psnr between two images?
0 个评论
回答(1 个)
Image Analyst
2017-4-3
Call
p = psnr(image1, image2);
If they're different sizes, then resize one of them.
image2Resized = imresize(image2, size(image1), 'nearest');
p = psnr(image1, image2Resized );
7 个评论
Image Analyst
2020-10-25
Each method will give a slightly different PSNR. Bicubic should be fine. Use others and compare them if you want.
Ozan Can Sahin
2020-10-26
I tried both PSNR and SSIM, it worked without errors but I've seen something that doesn't make sense. I've tried comparing Bicubic Interpolation and Nearest Neighbour Interpolation to see if PSNR and SSIM works properly, however I got better results for NN compared to bicubic which doesn't make sense. And this is valid for not only one single image but I've tried it with a few different images. You can see those in the screenshot attached, the code is on the left and the values are on the right. Any ideas why am I getting such results like this?![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/393283/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/393283/image.png)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!