PSNR 计算公式

对于一张RGB三通道图像,其计算公式如下:

先计算图像与Ground Truth的均方误差MSE:

再计算PSNR:

python 实现

网上的实现有下面两种:

import imageio
import numpy as np
import mathdef psnr1(img1, img2):mse = np.mean((img1/1.0 - img2/1.0) ** 2 )if mse < 1.0e-10:return 100return 10 * math.log10(255.0**2/mse)def psnr2(img1, img2):mse = np.mean( (img1/255. - img2/255.) ** 2 )if mse < 1.0e-10:return 100PIXEL_MAX = 1return 20 * math.log10(PIXEL_MAX / math.sqrt(mse))gt = imageio.imread('1.jpg')
img= imageio.imread('2.jpg')print(psnr1(gt,img))
print(psnr2(gt,img))

注意点:

  1. 使用imageio的原因是在使用scipy.misc.imread()的时候,被提示这个写法将被丢弃,所以大家也可以选择导入这个新的模块来进行图像的读写等操作。

  2. 其中psnr1函数中在两个数组相减前除以1.0,是为了将数组的类型从uint类型转化为float类型。

转载:https://blog.csdn.net/u010886794/article/details/84784453

PYTHON 计算PSNR相关推荐

  1. Python计算PSNR(图像峰值信噪比)

    图像信噪比是用于评估两张图像相似度的指标. PSNR=10⋅log⁡10(MAXI2MSE)=20⋅log⁡10(MAXIMSE)P S N R=10 \cdot \log 10\left(\frac ...

  2. python/c++计算psnr

    import cv2 import numpy as np import mathdef psnr(target, ref):#将图像格式转为float64target_data = np.array ...

  3. (python)计算图像峰值信噪比-PSNR、结构相似度-SSIM

    计算峰值信噪比-PSNR和结构相似度-SSIM(python实现) 说明: PSNR(Peak Signal to Noise Ratio),取值范围为:[0,100],PSNR值越大两张图片越相似, ...

  4. 用Python计算两图像的峰值信噪比PSNR

    1.首先计算mse. 对于三通道的RGB图像 计算mse的数学表达式是: 转换成代码来写: 2.得到mse后计算PSNR. 转换为代码来写: 或者将像素归一化: 理论上(数学意义上讲两个式子是相等的) ...

  5. Python计算Y通道或者RGB通道的PSNR_SSIM

    Python计算Y通道或者RGB通道的PSNR_SSIM 一. PSNR与SSIM简介 二.代码实现 三.运行.保存结果展示 一. PSNR与SSIM简介 峰值信噪比(Peak Signal-to-n ...

  6. 【python】psnr原理简介及代码实现

    写在前面 psnr作为图像质量评价指标,在很多图像领域如图像超分辨率.图像压缩.图像去噪等都有广泛的应用. PSNR(峰值信噪比) 简介 Peak signal-to-noise ratio(简称PS ...

  7. 使用OpenCV和Python计算图像的“彩色度”

    使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...

  8. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例

    Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录

  9. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集

    Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录

最新文章

  1. Centos 6.5 Pxe+kickstart 无人值守安装操作系统
  2. element input 只能输入数字_Python之input()函数
  3. Java 读书笔记 (十一) Number Math 类
  4. learn python app v3_‎App Store 上的“Learn Python and Scratch”
  5. 云计算学习资料分享:type查看命令
  6. flutter英语怎么说_美国人天天说的英语:“你搞反了”英语怎么说?
  7. java 远程监控文件系统_Java 文件系统监控(WatchService)
  8. python基础-函数之装饰器、迭代器与生成器
  9. windows部署tomcat服务自动启动,同时解决服务无法启动的问题
  10. python协程第一课(实现爬取自己博客)
  11. android开发我的新浪微博客户端-载入页面UI篇(1.1)
  12. OpenWrt常用命令总结
  13. 汇川plc c语言,汇川plc编程软件-汇川plc编程软件autoshop下载 v2.92官方版--pc6下载站...
  14. 注册github账号详细中文版教程【精选】
  15. CI521支持读写A卡和B卡,PIN对PIN直接替换CV520和CI520,软硬件兼容
  16. Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码...
  17. S5PV210开发 -- Nand和e-MMC区别以及系统更新
  18. 5e服务器显示fps被锁定,csgo强制被锁60帧 被锁60fps解决方法
  19. 人民日报大家谈:少儿编程热,需要冷思考
  20. JAVA代理模式与动态代理模式

热门文章

  1. 我的创作纪念日--韦_恩
  2. Onvif的wsdl文档地址
  3. Melis3.0系统Quick Start
  4. 一种针对SOA的消息类型架构
  5. java redis多线程爬取国美商品信息
  6. 白平衡,颜色校正,颜色映射When Color Constancy Goes Wrong, brown
  7. linux网卡灯不亮怎么处理,电脑网卡灯不亮的原因及解决方法
  8. listview+GridView+侧滑菜单+RadioButton+TabLayout
  9. python贝叶斯算法的论文_朴素贝叶斯算法从入门到Python实践
  10. matlab simulink基于BPPID控制的机械臂位置仿真