matlab计算信噪比
时间: 2023-07-13 17:19:55 浏览: 170
在 Matlab 中,可以使用 `psnr` 函数计算图像的信噪比(PSNR,Peak Signal-to-Noise Ratio)。示例代码如下:
```matlab
% 读入原始图像和加噪后的图像
I = imread('original_image.png');
J = imread('noisy_image.png');
% 计算信噪比
peaksnr = psnr(J, I);
% 显示结果
fprintf('PSNR = %f dB\n', peaksnr);
```
其中,`imread` 函数可以读入图片,`psnr` 函数可以计算图像的信噪比。需要注意的是,这里的参数顺序是先加噪后原始,因为信噪比是以加噪后的图像为基准计算的。
需要注意的是,这种方法只适用于比较清晰的图像,如果图像受到了严重的失真或压缩,可能会导致计算结果不准确。
相关问题
matlab计算信噪比代码
以下是MATLAB中计算信噪比的代码示例:
```Matlab
% 假设有原始信号 x 和噪声信号 n
% 首先计算信号的平方和
signal_power = norm(x)^2;
% 然后计算噪声的平方和
noise_power = norm(n)^2;
% 计算信噪比(SNR)
SNR = 10*log10(signal_power/noise_power);
```
这里使用 `norm` 函数计算信号和噪声的平方和,然后使用公式 `SNR = 10*log10(signal_power/noise_power)` 计算信噪比,最终结果以分贝(dB)为单位。
阅读全文