How to calcualte psnr of images of two different size?

15 ビュー (過去 30 日間)
anu
anu 2017 年 4 月 3 日
コメント済み: Ozan Can Sahin 2020 年 10 月 26 日
I am having one image 0f 500 * 500 size. I have resized it to 250 * 250. How to calculate psnr between two images?

回答 (1 件)

Image Analyst
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
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
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?

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by