TI путают с пиковым отношением сигнал / шум (PSNR) между исходным изображением и искаженным изображением.Я знаю, что более высокое значение PSNR означает лучшее качество изображения.
1) Сначала я сравниваю искаженное изображение с другим изображением в формате JPEG. Результат составляет 26,77 дБ.
2) Затем я удаляю шум из искаженного изображения иеще раз сравните, тогда результат будет низким psnr, т.е. 26,20 дБ..`
Кто-нибудь может исправить со мной мою ошибку, почему PSNR искаженного изображения выше? `
Присоединение кода Psnr
grayImage = imread('img84.jpeg');
I=rgb2gray(grayImage);
% I=rgb2gray(grayImage);
[rows columns] = size(grayImage);
Display the first image.
subplot(2, 2, 1);
imshow(grayImage, []);
title('YUV Frame ', 'FontSize', fontSize);
set(gcf, 'Position', get(0,'Screensize')); % Maximize figure.
Get a second image by adding noise to the first image.
noisyImage = imread('frame84.jpg');
J=rgb2gray(noisyImage);
[rows columns] = size(noisyImage);
Display the second image.
subplot(2, 2, 2);
imshow(noisyImage, []);
title('Before Processing', 'FontSize', fontSize);
------ PSNR CALCULATION ----------------------------------------------------------
squaredErrorImage = (double(grayImage) - double(noisyImage)) .^ 2;
title('Squared Error Image', 'FontSize', fontSize);
mse = sum(squaredErrorImage(:)) / (rows * columns);
Calculate PSNR (Peak Signal to Noise Ratio) from the MSE according to the formula.
PSNR = 10 * log10( 256^2 / mse);
message = sprintf('The mean square error is %.2f.\nThe PSNR = %.2f', mse, PSNR);
msgbox(message);