MATLAB PSNR 计算函数:快速评估图像质量
以下是一个计算 PSNR 值的 MATLAB 函数:
function psnr_value = psnr(original_image, noisy_image)
% Compute PSNR value between two images
% original_image: the original image
% noisy_image: the noisy image
% Convert images to double precision
original_image = im2double(original_image);
noisy_image = im2double(noisy_image);
% Calculate MSE
mse = mean(mean((original_image - noisy_image).^2));
% Calculate maximum pixel value
max_pixel_value = max(max(original_image));
% Calculate PSNR value
psnr_value = 20*log10(max_pixel_value/sqrt(mse));
end
使用方法:
- 将上述代码保存为一个 .m 文件,比如 psnr.m。
- 在 MATLAB 命令窗口中,输入以下命令:
original_image = imread('original_image.jpg');
noisy_image = imread('noisy_image.jpg');
psnr_value = psnr(original_image, noisy_image);
其中,'original_image.jpg' 和 'noisy_image.jpg' 分别为原始图像和噪声图像的文件名,需要根据实际情况修改。执行完毕后,psnr_value 即为 PSNR 值。
使用该函数,您可以轻松计算两幅图像之间的 PSNR 值,评估图像质量。
原文地址: https://www.cveoy.top/t/topic/mVwp 著作权归作者所有。请勿转载和采集!