MTF的倾斜边缘计算方法

2023-05-16

简介
       光学系统性能的衡量方法有很多,常见的有点扩散函数法、瑞利判断法、点列图法、光学传递函数(MTF)法等,其中MTF法在光学系统和镜头加工制造中使用最为广泛。MTF曲线真实的反映了成像系统将物方信息传递到像方的能力。MTF曲线的横坐标一般是cycle/mm或者linepair/mm [1][11],纵坐标是反映对比度传递特性的像/物方调制度的比值。
       MTF的计算方法有很多,比如使用条形目标的方法、随机目标方法、点扩散函数法、带宽受限激光散斑法 [2]、倾斜边缘法(Slanted Edge Method)等,其中点扩散函数法和倾斜边缘法是工业界普遍使用的方法。点扩散函数法的的缺点在于需要使用小于光学系统或镜头分辨极限的点光源,这样使得成像器件很难获得足够强的信号。
图1 倾斜的边缘(Slanted Edge)
        倾斜边缘法的算法流程如图2:首先获取倾斜边缘的边缘扩散函数(ESF),然后求导得到对应的线扩散函数(LSF),最后傅里叶变换得到MTF。
 图2 算法流程图

公式推导[3]
        倾斜边缘的响应函数可以由一个冲激函数表示:
        当边缘响应函数由完善的(没有像差)的光学系统成像时,系统的成像质量不会被劣化。因此边缘函数被线性不变的光学系统成像时,系统的输出O( x)等于线传递函数LSF与系统的响应函数S( x)的卷积:
       当 x- α<0时,阶跃函数S( x)=0,其他情况下S( x)=1,所以ESF( x)可以表示为:
MTF的倾斜边缘法计算方法 - YOng - 赛德居      
      因此,ESF( x)的导数可以写为:
MTF的倾斜边缘法计算方法 - YOng - 赛德居      
        所以 可以 MTF 写作 LSF 如下 函数
MTF的倾斜边缘法计算方法 - YOng - 赛德居      
       通常,MTF会对零频率幅值归一化,同时由卷积定义及傅里叶变换理论可以推导得出级联系统的MTF:

影响因素
>>倾斜角度<<
        需要注意的是,边缘倾斜的角度对计算的结果有一定的影响。
        一般来说,倾斜角需要控制在2°-10°之间,当角度超出这个范围时,计算的结果会出现比较大的偏差 [4][5][6]
图3 倾斜角度对MTF计算结果的影响
       图4 倾斜角度对MTF50计算结果的影响      
        当倾斜角度比较大时,可以取样相邻的多行/列的数据进行计算,这种方法其实就是过采样(oversampling)校正。ISO 12233建议4倍的过采样(获取邻近的4行/列线条的ESF) [4]
>>对比度<<
        在没有噪声,并且边缘对比度足够高(>20%)的情况下,对比度对计算几乎没有影响 [5]。当边缘对比度低于20%时,计算结果将出现大的偏差 [6]
>>数据限幅(data clippig)<<
        
如图5所示,当相机的曝光时间或者增益偏大时,会导致边缘扩散函数的上升沿呈"直线状"或者顶部变得十分平坦。这种情况下,计算的MTF都会出现极大的偏差。
        使用算法、软件对图像去噪或者增强对比度都可能使"数据限幅",因此必须谨慎的使用图像增强处理。
MTF的倾斜边缘法计算方法 - YOng - 赛德居
图5 数据限幅(或图像增强过度)时的边缘扩散函数
Imatest VS sfrmat3 VS Imagej(SE_MTF )       
        
Imatest master是 款用于检测数字相机、摄像机、工业相机拍摄的图像质量及交流检测结果的商业软件。Imatest包含多个模块,如①SFRplus,可以与SFRplus测试卡配合使用,检测MTF,横向色差,畸变,阶调响应和颜色还原。②SFR, 配合测试卡,可检测相机和镜头的锐度,噪音,色差。 ③MTF Compare,使用SFR的结果比较不同相机、镜头和影像系统的MTF性能。④Stepchart,配合灰阶测试卡检测相机的阶调响应,噪音,动态范围,还可用于检测曝光的准确性,镜头眩光。 ⑤Distortion,检测镜头的畸变,使用可打印的正方形和矩形网格计算矫正系数。⑥Test Charts,可以生成图像文件用打于打印测试图。生成的测试卡包括SFR斜边图像,星形测试图,各种频率和反差的图样。可选项包括:反差,高光色彩,正弦线和条纹模式。可输出位图或 可绽放矢量图 (SVG) [7]
       sfrmat3是Peter D. Burns编写的用于评估数字相机与扫描仪的成像空间频率响应(Spatial Frequency Response)的Matlab程序。sfrmat3遵循 ISO 12233的标准,使用倾斜边缘计算图像的空间频率响应 [8]
      ImageJ是由National Institutes of Health开发的,基于java的公共的图像处理软件。ImageJ被设计为一个开放的架构,可以通过java插件与可读的宏来扩展功能。因为本身是插件架构、并内建了开发环境,因此ImageJ已经成为一个十分受欢迎的图像处理教学平台 [9]。ImageJ有一个使用倾斜边缘方法计算MTF的插件SE_MTF,它需要从左边是黑色、右边是白色竖直倾斜边缘获取ESF,否则图像需要旋转90°。
MTF的倾斜边缘法计算方法 - YOng - 赛德居
图6  插件SE_MTF需要的竖直倾斜边缘
       现在分别使用Imatest、sfrmat3与Imagej(SE_MTF)计算测试图的MTF,并比较它们的异同。
       下面是Imatest的操作步骤:②、③方框里的按钮分别用于调节所选ROI区域的位置及形状,⑤处选择需要绘制的曲线,并填写相机像素尺寸信息:已知我们的CMOS相机的像素尺寸是1.67um,光学系统的放大率是5.5倍,为了得到可物方空间频率响应,此处填写的像素尺寸为1.67/5.5=0.3um。⑥处勾选后可以保存MTF的详细数据。重复上述步骤可以获取水平倾斜边缘的MTF曲线及数据。
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
        sfrmat3的使用非常简单,其中相机的像素尺寸是0.0003mm。重复两次步骤可以得到竖直方向、水平方向的MTF曲线及数据。
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
     如图,在ImageJ(SE_MTF) 的Plugins菜单下找到SE MTF 2xNyquist,填写相应的参数即可得到MTF(在MTF曲线窗口中点击Save可以保存数据)。为了得到水平倾斜边缘的MTF,需要将图像旋转90°并重复前面的步骤。
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
MTF的倾斜边缘法计算方法 - YOng - 赛德居 
将前面保存的数据全部复制到EXCEL里,并绘制数据曲线,结果如下: 
由上图可以看出:
      ①ImageJ插件与sfrmat3的计算结果十分接近;
      ②Imatest在两个方向(竖直方向、水平方向)的计算结果比前两者都偏高;
      ③三个软件/程序对不同方向的计算结果的相对关系是一致的;如167lp/mm处,水平方向的结果都大于竖直方向的结果。
 
测试装置
内容:
√0、MTF的理论推导
√重采样,避免混叠
1、实验框图
√2、边缘强度曲线怎样最好?
3、光源的特性(如发散角、强度等)对结果的影响?“一致性”对测试条件的要求有哪些?
√4、倾斜角度对结果的影响?(参考Imatest的文章)
5、Imatest/ImageJ/Sfrmat3结果对比

参考文献
[1] Resolution measurement and its units
[2]  Sensor modulation transfer function measurement using band-limited laser speckle
[3]  Calculating the modulation transfer function of an optical imaging system incorporating a digital camera from slanted-edge images captured under variable illumination levels_Fourier transforms application using MATLAB
[4]  How to Measure Modulation Transfer Function (6)
[5] A Study of Slanted-Edge MTF Stability and Repeatability
[6] sfrmat2_guide.pdf
[7]  Imatest Master 图像分析与检测软件
[8]  sfrmat3: SFR evaluation for digital cameras and scanners
[9]  ImageJ
[10]  ImageJ Plugin:Slanted Edge MTF---SE_MTF
[11]  The Units of Spatial Resolution
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MTF的倾斜边缘计算方法 的相关文章

  • Redis性能测试——redis-benchmark使用教程

    谨以此作为读书摘要 xff0c 无它 xff0c 唯以后快速查阅 Redis 自带了一个叫 redis benchmark 的工具来模拟 N 个客户端同时发出 M 个请求 xff08 类似于 Apache ab 程序 xff09 你可以使用
  • pycharm配置本地python虚拟环境

    Python的版本众多 在加上适用不同版本的Python Package 这导致在同时进行几个项目时 xff0c 对库的依赖存在很大的问题 这个时候就牵涉到对Python以及依赖库的版本管理 xff0c 方便进行开发 xff0c virtu
  • Unix环境高级编程读书笔记之一——Unix基础知识

  • Unix环境高级编程读书笔记之二——文件I/O

  • VNC连接ubuntu10.04出现白屏问题解决

    使用vnc登陆界面如下 解决办法 xff1a 将 vnc xstartup文件中最后一行x window manager amp 使用 注释掉 xff0c 然后添加一行gnone session amp 然后退出所有的XWINDOWS xf
  • vnc viewer上的分辨率

    问题 xff1a 用vnc远程连接时的系统屏幕即便最大化之后 xff0c 屏幕也只是中间的一小块屏幕 xff0c 并没有跟着vnc的最大化而最大化 解决办法 xff1a 连接窗口时点选option xff0c 或者VNC窗口标题栏右键 gt
  • 在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法

    注意 xff1a oracle安装不能用root用户安装 xff0c 必须新建用户安装 1 sqlplus 命令不识别问题 xff08 bash xff1a sqlplus command not found xff09 当你首次安装ora
  • 树莓派安装系统和系统备份还原

    最近有使用到树莓派做一些项目 xff0c 下面整理了下树莓派烧录系统到系统镜像备份还原的一些方法 在操作中尝试了windows和ubuntu两个系统下的烧录方式 1 树莓派官网下载Raspberry Pi Imager 登录树莓派官网 找到
  • Gazebo仿真环境中odom和baselink关联一起

    在Gazebo仿真环境中使用slam gmapping采图时发现 xff0c 没有odom数据 xff0c topic map没有数据 通过tf tree发现 odom没有和base link建立关联 日志上可以看到odom完全没有 这需要
  • 相机的变焦,对焦和景深的理解和照相機的成像原理

    首先认识焦距 xff1a 是指平行光线经透镜折射或曲面镜反射后的会聚点 xff0c 点到镜片中心的距离就是f焦距 相机成像时最清晰的位置就是感光阵列位于焦点处 焦距的作用 xff1a 焦距的大小决定着相机视野的范围大小 xff0c 一般焦距
  • 内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解

    有国才有家 xff0c 支持国产 xff0c 生活中点滴做起 xff0c 买手机就买华为 xff0c 这是我们国家IT界的脊梁 xff01 xff01 xff01 1 相机参数是三种不同的参数 相机的内参数是六个分别为 xff1a 1 dx
  • 基于ubuntu16.04配置VNC远程连接

    VNC官网下载https www realvnc com en connect download vnc linux 下载后的文件是VNC Server 6 3 1 Linux x86 deb xff0c 执行命令 xff1a sudo d
  • 关于Ubuntu与Debian的关系,了解!

    饮水思源 xff1a Ubuntu用户应关注Debian 当今最热门的桌面Linux非Ubuntu莫属 xff0c 它已经拥有数量众多的爱好者 xff0c 已经成为PC用户的主流操作系统之一 尽管Ubuntu相对还比较年 轻 xff0c 但
  • 最优化问题及其分类

    优化技术是一种以数学为基础 xff0c 用于求解各种工程问题优化解的应用技术 归纳而言 xff0c 最优化问题分为函数优化问题和组合优化问题两大类 xff0c 其中函数优化的对象是一定区间的连续变量 xff0c 而组合优化的对象则是解空间中
  • 50个有趣的休闲网站 (外国)

    有选择的余地是件好事 xff0c 但是如果选择太多了也让人烦恼 我们在网络上进行了搜索 xff0c 挑出了50个最有用而有趣的网站 今天互联网已经是很大的生意 无论你是想要购买一辆汽车 出售家庭产品 做生意或者收集难以找到的信息 xff0c
  • 一个不错的技术面试官是怎么样的?

    一个不错的技术面试官是怎么样的 xff1f 转载自 xff1a http t cn AiWwBM2b 作者 Jartto 作为技术面试官 xff0c 面试过程很少考虑候选人的感受 上来就是问 xff0c 不合适就送走 虽然技术环节我很专业
  • SVN update 返回值的含义

    本文来自网络 当你从代码库里面更新自己本地的工作拷贝的时候 xff0c update返回的值意思如下 xff1a u foo 文件foo更新了 xff08 从服务器收到修改 xff09 A foo 文件或目录foo被添加到工作拷贝 D fo
  • Linux DRM Graphic 显示简单介绍

    好久没有写过博客了 xff0c 工作之后平时都没有总结 xff0c 感觉像做了学到很多东西 xff0c 但是又感觉什么都没有学到 xff0c 似懂非懂 xff08 真尼玛纠结 xff09 突然别人说的一句话 xff0c 学东西不仅仅是自己学
  • Linux DRM KMS 驱动简介

    Whoops xff0c 上次写完 Linux DRM Graphic 显示简单介绍 博文后 xff0c 心情还是蛮愉悦的 xff0c 来来 xff0c 这次在说说具体的显卡驱动 1 DRM 框架分解 DRM 框架提供了一系列的 IOCTL
  • Vim 自动补全插件 YouCompleteMe 安装与配置

    本文系转载文章 xff0c 原文链接 http howiefh github io 2015 05 22 vim install youcompleteme plugin Contents 1 概述 2 安装 2 1 完全安装 2 2 Ub

随机推荐

  • Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    转载请注明出处 xff1a http kyang cc 栈是什么 xff1f 栈有什么作用 xff1f 首先 xff0c 栈 stack 是一种串列形式的 数据结构 这种数据结构的特点是 后入先出 LIFO Last In First Ou
  • SD-WAN 到底是什么?

    转载请注明出处 xff1a http kyang cc In a nutshell SD WAN Virtualizes the networkEnables a secure overlaySimplifies services deli
  • SDN, SD-WAN, NFV, VNF: What Is All This?

    本文转载至 xff1a http www velocloud com sd wan blog sdn sd wan nfv vnf Inscrutable alphabet soup Even the fully expanded term
  • Top-down Design简介

    自顶向下 xff0c 逐步求精的方法 在英文中称作Top down Design xff0c 是一种计算机编程使用的算法思想 xff0c 顾名思义 xff0c 这种方法的思想就是对现在遇到的复杂或者抽象化的问题 xff0c 进行纵向深入分解
  • The Advantages of SD‐WAN over Traditional WAN

    转载请注明出处 xff1a http kyang cc An SD WAN has several advantages over a traditional WAN 重点内容 Simplified WAN Rapid deployment
  • 玩转 SSL 证书

    Introduction Openssl 是一个很牛逼的工具 xff0c 基本能搞定 PKI amp HTTPS 证书相关的事情 这篇博文归类了一堆常用的命令 xff0c 全部都是关于 key amp csr amp crt 本文分成两部分
  • linux简易书单

    1 Linux程序设计 xff08 第4版 xff09 万千读者推荐的Linux经典入门书 程序设计实战型图书 xff0c 以简单易懂 内容全面和示例丰富而受到广泛好评 如果你没有Linux基础 xff0c 可以先读这本 话说回来 xff0
  • 数字图像处理的技术方法和应用

    所谓数字图像处理 xff0c 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程 20 世纪 50 年代 xff0c 电子计算机已经发展到一定水平 xff0c 人们开始利用计算机来处理图形和图像信息 xff0c 这便是早期的图像处理
  • hadoop安装完后打开网页http://localhost:50070/ 没反应

    在hadoop安装完后 xff0c 依次执行hadoop namenode format xff0c start dfs sh xff0c start yarn sh 之后 打开浏览器 输入 http localhost 50070 无反应
  • 关于CSDN代码段的背景颜色修改

    当我第一次去在CSDN中写代码时会发现自己的是用的 代码段 是如图下所示这种黑色的背景 那么自己想要去修改因该如何设置 1 鼠标悬停到头像上 2 点击内容管理标签 3 点击博客设置 4 在代码片样式中选择自己喜欢的样式就可以了
  • 利用VSPD、串口调试助手、Keil做串口调试

    下面详细介绍下如何用虚拟串口调试串口发送接收程序 需要用到三个软件 xff1a KEIL VSPD XP5 xff08 virtual serial ports driver xp5 1虚拟串口软件 xff09 串口调试助手 xff08 个
  • 基于机器学习的雷达信号分选和目标识别(论文阅读学习记录—持续记录)

    机器学习在雷达信号分选技术上的应用包括信号分离 确定脉冲参数 形成单部雷达脉冲序列 xff0c 然后针对雷达目标识别进行分类并划分威胁程度等 在一维距离像识别过程中包括去噪和雷达目标型号识别 该论文 xff08 学习内容 xff09 重点研
  • CMake Error: The following variables...set to NOTFOUND

    今天在编译开源OpenVslam时 xff0c 在最后阶段出现如下问题 说是DBOW2的库招不到 查看了dbow2都是正常安装的 xff0c 但是就是出问题 然后我就找到了对应的cmakelist txt文件 xff0c 将LIBS地址打印
  • PCL库调试过程中,显示当前不会命中断点,还没有为该文档加载任何符合

    最近在读PCL库中NDT源码 xff0c 搞了一个vs2019的工程将NDT部分跑了起来 xff0c 想通过打断点的方式进入源码中一步步走读代码 但是有些部分的源码可以通过断点的方式进 hpp文件 xff0c 有些确不能 比如kdtree
  • 相机矩阵(camera matrix)

    本博文主要介绍camera的参数矩阵 目录 相机小孔模型 相机矩阵 xff08 内参 xff09 相机矩阵 xff08 Intrinsic matrix xff09 图像坐标系 相机的外参矩阵 xff08 extrinsic matrix
  • Pytorch模型转ONNX

    参考https blog csdn net qq 37546267 article details 106767640 利用下面代码将pth模型转换为onnx import torch from torch autograd import
  • File already exists in database google/protobuf/descriptor.proto

    以加载静态库的方式加载protobuf库时出现如下问题 xff1a libprotobuf ERROR google protobuf descriptor database cc 57 File already exists in dat
  • assign()测试

    assign 应该属于赋值 std deque lt int gt di 1 2 3 4 5 std cout lt lt 34 at first 34 lt lt std endl std cout lt lt 34 di 61 34 f
  • 解析力评测(1) MTF和SFR

    成像系统的解析力一直是摄像头最关键的指标之一 所有用户拿到一张照片的时候首先看到的是照片清楚不清楚 xff0c 图像的清楚说得就是解析力 但是如何评价一个成像系统的解析力也是大家一直在探讨的问题 目前主流的办法主要有三种TV line检测
  • MTF的倾斜边缘计算方法

    简介 光学系统性能的衡量方法有很多 xff0c 常见的有点扩散函数法 瑞利判断法 点列图法 光学传递函数 MTF 法等 xff0c 其中MTF法在光学系统和镜头加工制造中使用最为广泛 MTF曲线真实的反映了成像系统将物方信息传递到像方的能力