matlab练习程序(PSNR)

摘要:
峰值信噪比(PSNR)通常用于评估压缩后的图像与原始图像相比的质量。当然,压缩图像的质量会比原始图像差,因此使用该评价指标来指定标准。PSNR越高,压缩后的失真越小。这里主要定义了两个值,一个是均方误差MSE,另一个是峰值信噪比PSNR。公式如下:这里的MAX通常是图像的灰度级,一般为255。一位同学为了PSNR找了我两次,因为他没有从事图像压缩和传输,所以当时没有帮助我。

  PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下:

matlab练习程序(PSNR)第1张

matlab练习程序(PSNR)第2张

这里的MAX通常是图像的灰度级,一般就是255了。

这里就不用什么压缩算法了,就是将图像缩小再放大比较一下,下面是代码:

close all;
clear all;
clc;

img=imread('lena.jpg');
[h w]=size(img);
imgn=imresize(img,[floor(h/2) floor(w/2)]);
imgn=imresize(imgn,[h w]);
img=double(img);
imgn=double(imgn);

B=8;                %编码一个像素用多少二进制位
MAX=2^B-1;          %图像有多少灰度级
MES=sum(sum((img-imgn).^2))/(h*w);     %均方差
PSNR=20*log10(MAX/sqrt(MES));           %峰值信噪比

matlab练习程序(PSNR)第3张原图

matlab练习程序(PSNR)第4张图像宽高分别缩小1/2再放大到原图,PSNR=30.2dB

matlab练习程序(PSNR)第5张图像宽高分别缩小1/5再放大到原图,PSNR=24.5dB

可以看出PSNR越高,图像和原图越接近。当然,这都是客观指标,实际评价还有主观指标,不过主观的东西就比较模糊了,每个人感觉都会不同的。

一位同学为了PSNR两次来找我了,因为自己不是搞图像压缩传输的,所以当时也没帮上什么忙。不过后来还是自己把这一部分熟悉了一下,说不定他下次要来我就能帮上忙了。

参考:1.http://zh.wikipedia.org/wiki/%E5%B3%B0%E5%80%BC%E4%BF%A1%E5%99%AA%E6%AF%94

免责声明:文章转载自《matlab练习程序(PSNR)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JS- 数组去重方法整理对“空间数据库”的理解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何利用MATLAB并行计算缩短程序运行时间

本来CPU就是双核,不过以前一直注重算法,没注意并行计算的问题。今天为了在8核的dell服务器上跑程序才专门看了一下。本身写的程序就很容易实现并行化,因为beamline之间并没有考虑相互作用。等于可以拆成n个线程并行,要是有550核的话,估计1ms就算完了。。。 先转下网上找到的资料。 一、Matlab并行计算原理梗概Matlab的并行计算实质还是主从...

Matlab/Simulink仿真中如何将Scope转化为Figure?

1.只需要在运行仿真后,在命令窗口内输入: set(0,'ShowHiddenHandle','on'); set(gcf,'menubar','figure'); scope最上方会出现一个菜单栏,选择Tools->Edit Plot,即可修改图像所有属性。 2.双击Scope->Parameters->Data History...

interp1一维数据插值在matlab中的用法

转载:https://ww2.mathworks.cn/help/matlab/ref/interp1.html?s_tid=srchtitle#btwp6lt-2_1 interp1 一维数据插值(表查找) 全页折叠 语法 vq = interp1(x,v,xq) vq = interp1(x,v,xq,method) vq = interp1...

Plotly学习记录 1

0.古木阴中系短篷 一个星期加班加点的,下篇论文的准备工作基本做好了。但是错过了七月份的一个会议,八月的会是没有检索的,自然没有投的必要了。所以写论文的工作暂时放一下。 最近入手了一本4月出版的《Python数据分析:基于Plotly的动态可视化绘图》。在深度学习论文中实在需要大量好看的图表了,可视化展示可以说是论文第一眼看上去,能不能出彩的重中之重了。客...

MATLAB实现一个EKF-2D-SLAM(已开源)

1. SLAM问题定义 同时定位与建图(SLAM)的本质是一个估计问题,它要求移动机器人利用传感器信息实时地对外界环境结构进行估计,并且估算出自己在这个环境中的位置,Smith 和Cheeseman在上个世纪首次将EKF估计方法应用到SLAM。 以滤波为主的SLAM模型主要包括三个方程: 1)运动方程:它会增加机器人定位的不确定性 2)根据观测对路标初始化...

Matlab读取Excel的数据

matlab读取excel中的数据用的是xlsread()这个函数这句代码跟matlab菜单操作中的file中import再选择excel文件的效果是一样的手动导入的时候它会自动识别文件中有什么类型的数据,数字和字符串被分别读入到两个变量中。比如[A B] = xlsread('1.xmls'); A中存储了这个文件中的数字矩阵,B中存储了字符串矩阵,读取...