我有原始图像和原始图像的失真图像。我想计算失真图像的PSNR,以便我可以以dB为单位测量失真。图像类型是彩色的jpeg。彩色jpeg图像的电源信号噪声比(PSNR)
2
A
回答
5
我不知道你以前使用过,但你可以使用下面的代码来计算改变图像的PSNR:
I = imread('original.jpg');
Ihat = imread('changed.jpg');
% Read the dimensions of the image.
[rows columns ~] = size(I);
% Calculate mean square error of R, G, B.
mseRImage = (double(I(:,:,1)) - double(Ihat(:,:,1))) .^ 2;
mseGImage = (double(I(:,:,2)) - double(Ihat(:,:,2))) .^ 2;
mseBImage = (double(I(:,:,3)) - double(Ihat(:,:,3))) .^ 2;
mseR = sum(sum(mseRImage))/(rows * columns);
mseG = sum(sum(mseGImage))/(rows * columns);
mseB = sum(sum(mseBImage))/(rows * columns);
% Average mean square error of R, G, B.
mse = (mseR + mseG + mseB)/3;
% Calculate PSNR (Peak Signal to noise ratio).
PSNR_Value = 10 * log10(255^2/mse);
+0
为什么你需要在mseR,mseG和mseB公式中两次写入总和? – 2017-08-24 12:38:45
4
这里是一个矢量实现:
mse = mean(mean((im2double(I) - im2double(K)).^2, 1), 2);
psnr = 10 * log10(1 ./ mean(mse,3));
它应该工作用于整数和浮点图像,包括灰度和彩色图像。
我使用以下PSNR定义:
相关问题
- 1. 与OpenCV中的色彩噪声的图像比较?
- 2. 使用MatLab计算信号:噪声比
- 3. 识别低色彩的jpeg图像
- 4. 创建噪声图像(随机噪声)
- 5. 噪声kinect颜色(rgb)图像
- 6. 如何在估计噪声方差后制作噪声信号
- 7. 用LinkSprite JPEG彩色摄像机拍照
- 8. 增加噪声的信号在python
- 9. 同样的噪声信号,Matlab vs Python
- 10. 为什么Perlin噪声图像比其他图像更平滑?
- 11. 平均为2个噪声信号
- 12. 信号检测当信号不存在时噪声的方差
- 13. 在噪声信号中获得所需的输入信号snr
- 14. 图像噪声过滤
- 15. 向图像添加噪声
- 16. 阈值图像和噪声
- 17. 噪声图像压缩
- 18. 图像信噪比(SNR)和图像质量
- 19. 试图用噪音,numpy和图像创建噪声图像
- 20. wkhtmltoimage呈现透明PNG的彩色噪声
- 21. Image双精度图像中的泊松噪声(散粒噪声)
- 22. matlab中音频信号的PSNR
- 23. 将灰度图像保存为彩色JPEG
- 24. 从图像中去除胡椒噪声和盐噪声
- 25. 鉴于噪声分布情况,噪声破坏图像?
- 26. Android - 如何获得无线信噪比(信噪比)?
- 27. 用Matlab创建一个黄色的噪声图像
- 28. 比较C中的真彩色像素
- 29. 使用Perlin噪声生成高度图噪声返回黑色位图
- 30. 如何通过电话号码彩信
什么是你已经尝试过? – 2013-04-28 14:57:17