如何用matlab计算图像的峰值信噪比
时间: 2023-06-20 19:05:42 浏览: 164
计算图像峰值信噪比
计算图像的峰值信噪比可以通过以下步骤实现:
1. 读入原始图像和加入噪声后的图像。
2. 计算原始图像的峰值灰度值和加入噪声后图像的峰值灰度值。
3. 计算原始图像和加入噪声后的图像的均方误差(MSE)。
4. 计算峰值信噪比(PSNR)。
下面是matlab代码示例:
```matlab
% 读入原始图像和加入噪声后的图像
I = imread('original_image.png');
J = imread('noisy_image.png');
% 计算原始图像的峰值灰度值和加入噪声后图像的峰值灰度值
peak1 = double(max(I(:)));
peak2 = double(max(J(:)));
% 计算原始图像和加入噪声后的图像的均方误差(MSE)
mse = mean((I(:)-J(:)).^2);
% 计算峰值信噪比(PSNR)
psnr = 10*log10(peak1^2/mse);
% 显示结果
disp(['峰值信噪比为:', num2str(psnr), ' dB']);
```
其中,'original_image.png'和'noisy_image.png'为原始图像和加入噪声后的图像文件名。需要注意的是,此方法只适用于灰度图像,对于彩色图像需要先将其转换为灰度图像再进行计算。
阅读全文