今天的作业是求两幅图像的MSE、SNR、PSNR、SSIM.代码如下:

clc;

close all;

X = imread('q1.tif');% 读取图像

Y=imread('q2.tif');

figure;% 展示图像

subplot(1, 3, 1); imshow(X); title('q1');

subplot(1, 3, 2); imshow(Y); title('q2');

% 使得图像每个像素值为浮点型

X = double(X);

Y = double(Y);

A = Y-X;

B = X.*Y;

subplot(1,3,3);imshow(A);title('作差');

MSE = sum(A(:).*A(:))/numel(Y);% 均方根误差MSE,numel()函数返回矩阵元素个数

SNR = 10*log10(sum(X(:).*X(:))/MSE/numel(Y));%信噪比SNR

PSNR = 10*log10(255^2/MSE);% 峰值信噪比PSNR

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%以下为结构相似度SSIM

ux=sum(X(:).*X(:))/numel(X);

uy=sum(Y(:).*Y(:))/numel(Y);

sigmoidx=sum(X(:).*X(:)-ux)/numel(X);

sigmoidy=sum(Y(:).*Y(:)-uy)/numel(Y);

sigmoidxy=sum(B(:).*B(:))/(numel(B)*ux*uy)-ux*uy;

SSIM=(2*ux*uy)*(2*sigmoidxy)/(ux*ux+uy*uy)/(sigmoidx*sigmoidx+sigmoidy*sigmoidy);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

display(MSE);%均方根误差MSE

display(SNR);%信噪比SNR

display(PSNR);%峰值信噪比PSNR

display(SSIM);%结构相似性SSIM

接下来,让我们看一下代码的输出。

MSE =153.6263

SNR =19.7617

PSNR =26.2661

SSIM =-1.5281e+26

根据观察,两幅图像可能来自于连拍,图片中的内容几乎完全一致。仅仅是对应的像素点产生了偏移。上图图三反应的是两幅图像作差以后的结果。根据均方根误差MSE,我们发现从数据上两幅图存在有巨大差异。这显然不符合我们的观察。作为图像质量评价指标,客观评价MSE与人眼的主观判断产生出入,这说明MSE并不是一个合适的指标。原因是:MSE指标的核心在于两幅图像相应像素点之间差值的平方和。这直接导致了该指标对于图像的空间分布没有“全局”认识,而只是局限于单纯的像素“个体”。

而SNR和PSNR,在本例中取得了较好的效果。不过,个人认为在高熵图像中容易失效,在具有足够多中心点的着色过的Vornoi图和其平移图像中,SNR和PSNR将会难有成效。

对于SSIM,SSIM综合考虑了两幅图像的均值、方差,以及他们的协方差,从而在本例中取得了非常好的效果。

2019-03-04

23:14:07

matlab snr mse,MATLAB 均方根误差MSE、两图像的信噪比SNR、峰值信噪比PSNR、结构相似性SSIM...相关推荐

  1. 无参考图像质量评价之图像质量评价方法(一)[均方根误差、峰值信噪比、结构相似度]

    图像质量评价在计算机视觉,人工智能,高清视频传输上面有很广泛的应用.目前,图像质量评价主要分为三个方向,有参考图像的质量评价,半参考的图像质量评价,以及无参考的图像质量评价.但是,个人认为,无参考图像 ...

  2. MATLAB对图像做仿生变换和对两图像小波做变换融合

    I = imread('cameraman.tif'); tform = maketform('affine',[1 0 0; .5 1 0; 0 0 1]); %定义仿射变换的变换结构 J = im ...

  3. Matlab图像处理创新实践-实验2【图像滤波基础(2)】

    Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...

  4. Matlab图像处理创新实践-实验1【图像滤波基础(1)】

    Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...

  5. 光谱分类算法 matlab,Matlab K-means聚类算法对多光谱遥感图像进行分类(一)

    Matlab K-means聚类算法对多光谱遥感图像进行分类 作者: 白艺亭 测试了下matlab自带kmeans函数,作者编写函数,以及ENVI下的Kmeans方法,对比其效果,代码及结果图展示见下 ...

  6. matlab 倾斜矫正,matlab图像倾斜校正

    4 图像颜色畸变校正介绍图像颜色畸变现象可以是由摄像器材导致,也可以是由于真实环境本身就偏 色导致,还有的是由于图像放置过久氧化.老化导致.无论其产生的原因如何, 其校正方法都是类似的.如果用 Mat ...

  7. matlab两个曲线的名称怎么显示出来的,求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上?...

    求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上? 关注:194  答案:5  手机版 解决时间 2021-02-10 14:48 提问者终究是陌生了 2021-02-09 16:38 程序 ...

  8. matlab 立体双目,correl sp matlab 实现双目视觉的三维重建 利用两张图片 信息 276万源代码下载- www.pudn.com...

    文件名称: correlCorresp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 759 KB 上传时间: 2015-05-26 下载次数: 67 提 ...

  9. 【深度学习】图像去雾,去噪里常用的相似评价指标:PSNR(峰值信噪比) SSIM(结构相似度)MSE(均方误差)

    文章目录 一.PSNR(峰值信噪比) 二.SSIM(结构相似度) 三.MSE(均方误差) 小插曲:plt.savefig()保存的图片为空白 一.PSNR(峰值信噪比) 公式直接抄我师哥论文上的,n通 ...

最新文章

  1. 在linux环境下重启oracle数据库,解决密码过期的问题
  2. 生命游戏 c语言,c++生命游戏源码
  3. [转载]Linux基础知识之挂载详解(mount,umount及开机自动挂载)
  4. 数据预处理(part3)--缺失值处理和区间化
  5. oracle 子表数据变化时主表也会更新_亿信ABI版本重大更新,新增60余个实用新功能,还有一项黑科技...
  6. 深度学习数字仪表盘识别_深度学习之手写数字识别项目(Sequential方法amp;Class方法进阶版)...
  7. QML的import目录爬坑记录
  8. c语言编写一个菜单系统_一招教你,轻松解决C语言编写一个正整数的所有因子!...
  9. 如何构建一个流量无损的在线应用架构 | 专题尾篇
  10. [转载] 你真的会用 Java 中的三目运算符吗
  11. android onserviceconnected_2019最新Android面试题
  12. 小鹏吃相难看,消费者难做“鹏”友
  13. api 文件长度_上传下载API
  14. 职称计算机internet应用模块,全国职称计算机考试题库(Internet应用XP版模块)
  15. 【渝粤教育】广东开放大学 插画与漫画 形成性考核 (27)
  16. java后端getmonth_Java YearMonth getMonth()用法及代码示例
  17. IdentityServer4【Topic】之确认(Consent)
  18. MacOS启动台(launchpad)缺少应用软件图标
  19. 2019届大疆提前批校招机器学习岗笔试B卷
  20. 关于PhpStorm设置点击编辑文件自动定位源文件

热门文章

  1. 驾校学车,科目二坡路定点停车和起步操作技巧!
  2. colored manual page
  3. 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台
  4. iOS1.0到iOS7,iOS七大版本特性回顾
  5. HDLBits练习汇总-14-时序逻辑设计测试--状态机(二)
  6. 使用shUnit2进行shell scritp自动化测试
  7. java四则运算程序_java实现四则运算程序
  8. 近红外光谱模型构建流程与评估
  9. 在线、近线、离线数据存储概念
  10. 51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码