文档章节

PSNR

SVD
 SVD
发布于 2016/08/12 15:32
字数 926
阅读 116
收藏 0

为了进行视频处理,有必要对测量原始信号与处理信号的差别制定客观评价标准。这非常重要,比如在视频编码应用中必须测量由于压缩引起的失真。这样的理想测度应该与两个视频序列之间观察到的差别有很好的相关性。不过,寻找此类测度的过程证实这是异常困难的任务。尽管提出了多种质量测度,与感知到的视频质量相关性好的标准计算相当复杂。现在设计的大多数视频处理系统使两个视频序列和均方差(MSE)最小,对于彩色视频图像,MSE分别对每个彩色分量计算其MSE。
代替MSE,更常用峰值信噪比(peak signal-to-noise ratio,PSNR,单位dB)作为视频处理后质量测量标准。
对于大多数常见的8bit/彩色视频图像,
PSNR完全由MSE确定。PSNR较MSE更常用,因为人们想把图像质量与某个范围的PSNR相联系。根据实际经验,对于亮度像素分量,
PSNR高于40dB说明图像质量极好(即非常接近原始图像),在30—40dB通常表示图像质量是好的(即失真可以察觉但可以接受),在20—30dB说明图像质量差;最后,PSNR低于20dB图像不可接受。
计算两个序列间的PSNR没什么意义,计算每两个对应图像的PSNR然后把从各Frame获得的值取平均值是不正确的。以上主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下:

这里的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));           %峰值信噪比

图像宽高分别缩小1/2再放大到原图,PSNR=30.2dB。

图像宽高分别缩小1/5再放大到原图,PSNR=24.5dB。

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

备注:

>> PSNR

PSNR(:,:,1) =

   39.5797


PSNR(:,:,2) =

   39.7485


PSNR(:,:,3) =

   39.3670
这是我求得的一张jpg图片的信噪比。

取得0.1的精度时,得到的结果如下:

>> PSNR

PSNR(:,:,1) =

   25.8999


PSNR(:,:,2) =

   27.1620


PSNR(:,:,3) =

   26.4491

取得0.2的精度时,得到的结果如下:

>> PSNR

PSNR(:,:,1) =

   29.8792


PSNR(:,:,2) =

   30.3280


PSNR(:,:,3) =

   29.9064

取得0.6的精度时,得到的结果如下:

val(:,:,1) =

   36.8631


val(:,:,2) =

   37.0826


val(:,:,3) =

   36.7029

取得0.6的精度时,得到的结果如下:

val(:,:,1) =

   42.8358


val(:,:,2) =

   43.0407


val(:,:,3) =

   42.6587

取得0.7的精度时,得到的结果如下:

val(:,:,1) =

   46.8471


val(:,:,2) =

   47.0110


val(:,:,3) =

   46.6243

取得0.8的精度时,得到的结果如下:

>> PSNR

PSNR(:,:,1) =

   53.1992


PSNR(:,:,2) =

   53.6231


PSNR(:,:,3) =

   53.3431

取得0.9的精度时,得到的结果如下:

PSNR(:,:,1) =

   66.8596


PSNR(:,:,2) =

   67.2335


PSNR(:,:,3) =

   64.1362
 

 

本文转载自:http://www.cnblogs.com/tiandsp/archive/2012/11/14/2770462.html

共有 人打赏支持
SVD

SVD

粉丝 33
博文 195
码字总数 97009
作品 0
海淀
利用简单工具进行客观视频质量分析

利用简单工具进行客观视频质量分析 1. 主要工具: ffmpeg, eavlvid 其中eavlvid的下载地址:http://www2.tkn.tu-berlin.de/research/evalvid/EvalVid/evalvid-2.7.tar.bz2 其实只使用了psnr,...

张旭0512
2016/07/11
236
0
PSNR峰值信噪比matlab实现

PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主...

sac761
2017/08/01
0
0
视频编码方案之间的比较(HEVC,H.264,MPEG2等)

Jens-Rainer Ohm等人在文献《Comparison of the Coding Efficiency of Video Coding Standards—Including High Efficiency Video Coding (HEVC)》中对比了几种视频编码方案。编码方案包括:......

leixiaohua1020
2013/10/02
0
0
【OpenCV】视频输入与相似度测量

视频输入   与之前的博客内容不同,本节处理的是视频流而非图像集。视频流来源可以是摄像头的实时图像反馈、已拍摄存储的视频。OpenCV可以读取这两种类型的视频流并采用RSNP和SSIM检查图像...

u013165921
2017/11/18
0
0
OpenCV进行图像相似度对比的几种办法

1.PSNR(Peak Signal to Noise Ratio)峰值信噪比,一种全参考的图像质量评价指标。 简介: http://www.cnblogs.com/vincent2012/archive/2012/10/13/2723152.html PSNR是最普遍和使用最为广...

moki_oschina
2016/04/04
388
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 容器实现对bean的管理(注解方式解析,源码阅读)

因为最近在研究学习spring boot,所以这里想详细学习回顾了一下spring 容器对bean的一些管理方式和部分源码学习。 首先初始类AnnotationConfigApplicationContext,简单源码查看,支持两个参...

小海bug
19分钟前
0
0
数据结构:二分查找 java

二分查找的前提是有序存储,利用顺序存储和元素排序 /** * 二分查找,查找成功,返回下标记 * @param values * @param begin * @param end * @param key * @param <T> * @ret...

京一
37分钟前
0
0
@SpringBootApplication 注解

@SpringBootApplication注解是一个组合注解,包含以下注解 @Target(ElementType.TYPE) 注解的作用目标 @Retention(RetentionPolicy.RUNTIME) Reteniton的作用是定义被它所注解的注解保留多久,...

java.刘
50分钟前
0
0
sentinel自定义DataSource实战

序 本文主要研究一下如何自定义sentinel的DataSource,这里以jdbc为例。 maven <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sen......

go4it
今天
1
0
xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度?

问题: 用xgboost/gbdt在在调参的时候把树的最大深度调成6就有很高的精度了。但是用DecisionTree/RandomForest的时候需要把树的深度调到15或更高。用RandomForest所需要的树的深度和Decisio...

tantexian
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部