文档章节

PSNR

SVD
 SVD
发布于 2016/08/12 15:32
字数 926
阅读 108
收藏 0
点赞 0
评论 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

粉丝 32
博文 185
码字总数 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 ⋅ 0

PSNR峰值信噪比matlab实现

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

sac761 ⋅ 2017/08/01 ⋅ 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

【OpenCV】视频输入与相似度测量

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

u013165921 ⋅ 2017/11/18 ⋅ 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 ⋅ 0

HEVC,VP9,x264性能对比

Dan Grois等人在论文《Performance Comparison of H.265/MPEG-HEVC, VP9, andH.264/MPEG-AVC Encoders》中,比较了下一代编码标准HEVC,VP9的以及当前主流编码标准H.264之间的性能。在此记录...

leixiaohua1020 ⋅ 2014/02/09 ⋅ 0

实践:基于深度学习的卫星图像超分辨率处理技术(一)

摘要:Yann Lecun曾将无监督学习比作蛋糕,将监督学习比作蛋糕上的糖霜,声称我们仅懂得如何做糖霜却不知道怎样才能做出蛋糕。在本篇文章中,我们提供了一份训练无监督学习算法的“蛋糕”配方...

云栖社区 ⋅ 2017/11/06 ⋅ 0

MSU 出品的 H.264 编码器比较 (2011.5)(包含VP8以及XviD)

这是著名的视频质量评价实验室MSU Graphics&Media Lab(是莫斯科国立大学的实验室)做的编码器比较的实验报告《Seventh MPEG-4 AVC/H.264 Video Codecs Comparison》。非常的详细,全面,在此...

leixiaohua1020 ⋅ 2013/09/23 ⋅ 0

x264源代码简单分析:滤波(Filter)部分

===================================================== H.264源代码分析文章列表: 【编码 - x264】 x264源代码简单分析:概述 x264源代码简单分析:x264命令行工具(x264.exe) x264源代码...

leixiaohua1020 ⋅ 2015/05/20 ⋅ 0

CVPR 2018 图像压缩挑战赛结果出炉,腾讯音视频实验室压缩性能第一

雷锋网(公众号:雷锋网) AI 研习社按,CVPR 2018 图像压缩挑战赛(CLIC)结果已经出炉,腾讯音视频实验室和武汉大学陈震中教授联合团队于该项挑战赛上取得压缩性能第一。 CVPR 是计算机视觉领...

思颖 ⋅ 06/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部