图像恢复常用psnr做为评价指标。psnr值越高则表示两幅图像越相似。

由于图像处理时常有两种类型的格式,一种是tensor类型,一种是numpy类型。所以这里准备了两个代码。

import torch
import numpy as np
import cv2
from torchvision import transformsdef torchPSNR(tar_img, prd_img):imdff = torch.clamp(prd_img,0,1) - torch.clamp(tar_img,0,1)rmse = (imdff**2).mean().sqrt()ps = 20*torch.log10(1/rmse)return psdef numpyPSNR(tar_img, prd_img):##这里通常会去除边框imdff = np.float32(prd_img) - np.float32(tar_img)rmse = np.sqrt(np.mean(imdff**2))ps = 20*np.log10(255/rmse)return psimg1=cv2.imread('./2.png')
# img1=cv2.cvtColor(img1, cv2.COLOR_BGR2YCR_CB)###改变颜色
# b1,g1,r1=cv2.split(img1)  ##通道分离
img2=cv2.imread('./3.png')
# img2=cv2.cvtColor(img2, cv2.COLOR_BGR2YCR_CB)
# b2,g2,r2=cv2.split(img2)
print(numpyPSNR(img1,img2))img1=transforms.ToTensor()(img1)
img2=transforms.ToTensor()(img2)print(torchPSNR(img1,img2))
# print(numpyPSNR(g1,g2))
# print(numpyPSNR(b1,b2))
# print(numpyPSNR(r1,r2))

补充:

当图片的数据类型是np.uint8时。

from skimage.measure import compare_ssim,compare_psnr
psnr = compare_psnr(img1, img2, 255)

python PSNR代码相关推荐

  1. 【机器视觉案例】(5) AI视觉,手势调节物体尺寸,附python完整代码

    各位同学好,今天和大家分享一下如何使用opencv+mediapipe完成远程手势调节图片尺寸的案例.先放张图看效果.当拇指和食指竖起时,根据食指间的连线的长度自由缩放图片尺寸.图片的中点始终位于指尖 ...

  2. 【机器视觉案例】(5) AI视觉,远程手势控制虚拟计算器,附python完整代码

    各位同学好,今天和大家分享一下如何使用MediaPipe+Opencv完成虚拟计算器,先放张图看效果.FPS值为29,食指和中指距离小于规定阈值则认为点击按键,为避免重复数字出现,规定每20帧可点击一 ...

  3. 【MediaPipe】(4) AI视觉,远程手势调节电脑音量,附python完整代码

    各位同学好,今天和大家分享一下如何使用MediaPipe完成手势调节电脑音量,先放张图看效果. 注意!! 本节需要用到手部关键点的实时跟踪,我已经在之前的文章中详细写过了,本节会直接使用,有疑问的同学 ...

  4. 【深度学习】(2) 数据加载,前向传播2,附python完整代码

    生成数据集: tf.data.Dataset.from_tensor_slices(tensor变量) 创建一个数据集,其元素是给定张量的切片 生成迭代器: next(iter()) next() 返 ...

  5. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  6. 【机器学习入门】(8) 线性回归算法:正则化、岭回归、实例应用(房价预测)附python完整代码和数据集

    各位同学好,今天我和大家分享一下python机器学习中线性回归算法的实例应用,并介绍正则化.岭回归方法.在上一篇文章中我介绍了线性回归算法的原理及推导过程:[机器学习](7) 线性回归算法:原理.公式 ...

  7. 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集

    各位同学好,今天和大家分享一下python机器学习中的决策树算法,在上一节中我介绍了决策树算法的基本原理,这一节,我将通过实例应用带大家进一步认识这个算法.文末有完整代码和数据集,需要的自取.那我们开 ...

  8. 【机器学习入门】(3) 朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)附python完整代码及数据集

    各位同学好,今天我和大家分享一下朴素贝叶斯算法中的三大模型.在上一篇文章中,我介绍了朴素贝叶斯算法的原理,并利用多项式模型进行了文本分类预测. 朴素贝叶斯算法 -- 原理,多项式模型文档分类预测,附p ...

  9. 同一个内容,对比Java、C、PHP、Python的代码量,结局意外了

    为什么都说Python容易上手!是真的吗? 都说Python通俗易懂,容易上手,甚至不少网友表示「完成同一个任务,C 语言要写 1000 行代码,Java 只需要写 100 行,而 Python 可能 ...

最新文章

  1. python center函数_python pandas移动窗口函数rolling的用法
  2. dedecms arclist中截取字符串的方法
  3. java io读取doc内容_Java word 内容读取-Go语言中文社区
  4. 【收藏】基于QGIS的Google Earth Engine插件已发布
  5. 牛客网——今年的第几天
  6. 微信浏览器打开网页被拦截了?Mindjump快速解决微信屏蔽网址用户打不开的难题...
  7. IOS https抓包及10.3.3版本证书不生效问题解决
  8. react(83)--filter
  9. MySQL 常用需求写法 记录一下
  10. C++(8)--数组及常用算法
  11. Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
  12. 通过自定义消息调用主窗体的菜单项
  13. Python3中异常处理和try/except,try/finally的用法
  14. 虚拟机下挂载CentOS 镜像并配置yum本地镜像源
  15. 字节跳动 | 机器学习与推荐算法工程师培养计划
  16. 谷歌浏览器开发者工具network_关于Chrome谷歌浏览器开发者工具网络Network中返回无数据的问题...
  17. 土地购买(USACO 2008 March Gold)
  18. 计算机学报在线阅读,计算机研究与发展计算机学报软件学报电子学报西安交通大学学报.doc...
  19. caps scrlk numlk 闪烁
  20. 一文搞懂广播电视节目制作经营许可证办理流程

热门文章

  1. Hive分区——Partition(静态分区,动态分区)详解
  2. 【Linux学习】进程概念
  3. 【直播预告】从A76到 A78——在变化中学习ARM微架构
  4. wifi钓鱼 强势拿你的wifi密码
  5. SparkSQL之DataFrame 编程(创建DataFrame ,DataFrame数据运算操作 ,输出存储DataFrame)(11)
  6. echarts 画流程图
  7. 辅助服务类:AccessibilityService使用
  8. Android自定义view刷新方法
  9. AVL树(平衡二叉搜索树)
  10. 华为手机你知道几种截屏方式呢?其实有7种,看看你用过几个?