How to calcualte psnr of images of two different size?

5 Ansichten (letzte 30 Tage)
anu
anu am 3 Apr. 2017
Kommentiert: Ozan Can Sahin am 26 Okt. 2020
I am having one image 0f 500 * 500 size. I have resized it to 250 * 250. How to calculate psnr between two images?

Antworten (1)

Image Analyst
Image Analyst am 3 Apr. 2017
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 Kommentare
Image Analyst
Image Analyst am 25 Okt. 2020
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 am 26 Okt. 2020
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?

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by