matlab 图像 psnr 画图
时间: 2023-08-29 14:12:38 浏览: 137
psnr.zip_PSNR_matlab psnr_图像psnr
以下是使用MATLAB绘制图像PSNR的示例代码:
```matlab
% 读取原始图像和处理后的图像
img1 = imread('original_image.jpg');
img2 = imread('processed_image.jpg');
% 计算PSNR
mse = mean((img1(:)-img2(:)).^2);
psnr = 10*log10(255^2/mse);
% 输出PSNR值
disp(['PSNR value: ', num2str(psnr)]);
% 绘制PSNR值变化曲线
noise_levels = 0:10:100; % 噪声水平
psnr_values = zeros(size(noise_levels));
for i = 1:length(noise_levels)
% 添加噪声并计算PSNR
noisy_img = imnoise(img1, 'salt & pepper', noise_levels(i)/100);
mse = mean((img1(:)-noisy_img(:)).^2);
psnr_values(i) = 10*log10(255^2/mse);
end
% 绘制图像
plot(noise_levels, psnr_values, 'o-');
grid on;
xlabel('Noise level (%)');
ylabel('PSNR (dB)');
title('PSNR vs. Noise level');
```
该示例代码将计算原始图像和处理后的图像之间的PSNR,并绘制了噪声水平与PSNR值之间的变化曲线。您可以根据需要修改代码以适应您的图像数据。
阅读全文