Python实现psf2otf

  • 原理介绍
  • 代码展示

原理介绍

该代码的用途及其他信息可参考 Matlab psf2otf与fft2函数的关系

代码展示

def psf2otf(psf, outSize):psfSize = np.array(psf.shape)outSize = np.array(outSize)padSize = outSize - psfSizepsf = np.pad(psf, ((0, padSize[0]), (0, padSize[1])), 'constant')for i in range(len(psfSize)):psf = np.roll(psf, -int(psfSize[i] / 2), i)otf = np.fft.fftn(psf)nElem = np.prod(psfSize)nOps = 0for k in range(len(psfSize)):nffts = nElem / psfSize[k]nOps = nOps + psfSize[k] * np.log2(psfSize[k]) * nfftsif np.max(np.abs(np.imag(otf))) / np.max(np.abs(otf)) <= nOps * np.finfo(np.float32).eps:otf = np.real(otf)return otf

Python实现psf2otf相关推荐

  1. OpenCV—Python 盲反卷积模糊图像恢复算法

    文章目录 一.前言 二.算法流程解析: 三.函数参数说明 四.代码复现 deconvblind() python 实现 ind2sub() python 实现 退化函数 h(-x,-y) 实现代码: ...

  2. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  3. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  4. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  5. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  6. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  7. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  8. python减小内存占用_如何将Python内存占用缩小20倍?

    当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...

  9. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

  10. python程序如何执行死刑图片_如何判断对象已死

    已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...

最新文章

  1. php控制css,div控制css样式
  2. SHARED POOL 原理
  3. php-Facade(外观模式)
  4. 使用Java生成二维码图片(亲测)
  5. 敏感词过滤的php代码,php实现敏感词过滤(Trie树)
  6. 20100519 学习记录:asp CreateFolder/上传附件
  7. 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc
  8. 1t硬盘怎么分区最好_win7系统硬盘怎么分区 win7系统硬盘分区步骤【介绍】
  9. android 关于关于子线程更新UI的一些事
  10. AutoIt: send 命令 VS ControlClick的使用
  11. 安卓修复已遭在野利用的内核 0day 漏洞
  12. 第二章从收入的预测分析开始
  13. MPLS virtual private network中MCE介绍
  14. java.util.concurrent.locks.LockSupport
  15. DEVC编译器快捷键大全
  16. mysql授权replication_MySQL创建用户并授权REPLICATION CLIENT和REPLICATION SLAVE
  17. 解决永中集成office和opera的中文输入问题
  18. 计算机cpu温度显示原理,电脑cpu温度怎么看
  19. Charles 抓包原理与实践
  20. HFC网、FTTx技术、PON

热门文章

  1. 奥运五环的含义及其颜色对应码
  2. vbs脚本和windows定时任务实现qq消息表情包定时发送
  3. 买电脑常识——电脑性能
  4. 又一个吊打百度网盘的开源神器,还是99年妹子开发的
  5. 通用能力-智力题专项练习(2)
  6. Java为PDF文档加密
  7. 22图详解ElasticSearch 使用教程
  8. 群晖web文件服务器docker,群晖docker搭建数据库服务器
  9. centos6安装wget
  10. 修改IP的cmd命令