利用matlab代码实现图像灰度值的计算,计算ISNR和PSNR
时间: 2024-05-07 13:19:15 浏览: 122
PSNR.rar_ISNR_PSNR_psnr matlab_彩色图像psnr
5星 · 资源好评率100%
以下是利用matlab代码实现图像灰度值的计算,计算ISNR和PSNR的示例代码:
```matlab
% 读取原始图像和处理后的图像
I1 = imread('original.jpg');
I2 = imread('processed.jpg');
% 将图像转为灰度图
I1_gray = rgb2gray(I1);
I2_gray = rgb2gray(I2);
% 计算原始图像和处理后的图像的灰度值
mean_I1 = mean(I1_gray(:));
mean_I2 = mean(I2_gray(:));
% 计算ISNR
isnr = 10*log10((mean_I2^2)/(mean_I1-mean_I2)^2);
% 计算PSNR
peaksnr = psnr(I2_gray, I1_gray);
% 显示结果
fprintf('ISNR = %f\n', isnr);
fprintf('PSNR = %f\n', peaksnr);
```
其中,`imread()`函数用于读取图像,`rgb2gray()`函数用于将图像转为灰度图,`mean()`函数用于计算灰度值的均值,`psnr()`函数用于计算PSNR。
需要注意的是,计算ISNR需要原始图像和处理后的图像的灰度值均值,而计算PSNR需要原始图像和处理后的图像作为输入。
阅读全文