camera测试之MTF
1.MTF介绍
MTF(Modulation Transfer Function)模量传递函数。MTF是camera成像对比度和分辨率的综合表现。从另一个角度来看,camera成像过程可以简单看成下图:
简单来,物体经过camera系统之后形成图象。我们用Io表示物体表面的最大亮度与最小亮度的差,Ii表示图象最大亮度与最小亮度之差。那么MTF表征的量就是Ii/Io,如果是理想情况下,Ii等于Io,
MTF的值就是等于1,但是在实际的成像系统中,这个是不可能发生的。同样的,在成像系统中,Ii的值不可能为0。所以说,MTF的值的范围为0~1.
2.camera MTF测试方法
一般来说,MTF测试的方法分为
1.用人眼来看:人眼来看的方法就是camera拍摄12233 chart得到的图片中的黑白线对,看人眼可以辨识黑白线对的极限。这部分就不具体介绍了。
2.按照MTF的定义也就是最大亮度值减最小亮度值的差来求camera的MTF值。具体如下:
使用上图做为camera拍摄的图卡,其中图中灰色部分为灰度值为0和灰度值为255的象素点间隔组成的图象。然后取红框部分区域进行计算,红框大小可根据实际情况来取。计算公式:(Lmax - Lmin)/(Lmax + Lmin),其中L为灰度值。通过这个公式就可以求出五个区域的MTF值。这种方法算法实现简单,但是误差会比较大。
3.SFR
SFR(spatial frequency response)空间频率响是MTF的一种测试算法,光线经过成像系统,其振幅和相位都会发生变化。于是便可以使用傅里叶变换将时域变换到频域进行分析。SFR测试算法的大致流程如下:
待测Camera去拍摄带倾斜边缘的图卡(该图卡可自己定制),然后获取倾斜边缘的的边缘拓展函数(ESF),微分得到线拓展函数(LSF),最后求离散傅里叶变换得到MTF。具体计算过程可参考ISO12233文档。
camera测试之MTF的更多相关文章
- Camera测试之Color & Lens shading Test
测试目的:测试摄像头成像的均匀性 测试主要设备:均匀光源(DNP灯箱),色温照度计 测试环境:将灯箱光源调至600±100lux 测试注意事项:保证均匀的光源 测试原理: 造成摄像头成像不均匀的原因有 ...
- camera测试之颜色还原
测试目的:camera对色彩的还原能力 测试主要设备:24色色卡,灯箱 测试环境:1.D65/CW/A光源,照度为600±100lux,整个chart表面的亮度值相差小于10% 2.D65光源,照度为 ...
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- MTF测试图卡规格
1.Imatest Chart Finder计算图卡大小 测试camera MTF时,需要知道所需要的图卡的大小,Imatest提供了一个网页,只要输入sensor的像素, 镜头的视场角,还有镜头到图 ...
- 常见camera测试卡
常见camera测试卡 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/luckywang1103/article/details/87166 ...
- 【转】camera tuning
chromatix项目必须包含有效的 ADC image.png filcker: 交流电照明灯发出的光会一定频率的抖动导致sensor图像出现行方向的水波纹,称之为filcker.目前主要的交流电频 ...
- [转]camera的构成
camera的构成 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进行处理,最终转换成手机屏 ...
- [Unity3D]巧妙利用父级子级实现Camera场景平面漫游
本文系作者原创,转载请注明出处 入门级的笔者想了一上午才搞懂那个欧拉角的Camera旋转..=.= 在调试场景的时候,每次都本能的按下W想前进,但是这是不可能的(呵呵) 于是便心血来潮想顺便添加个Ke ...
- [游戏开发-学习笔记]菜鸟慢慢飞(四)-Camera
游戏开发中,主相机应该是最重要的GameObject之一,毕竟游戏呈现给玩家,就是通过它. 相机的使用,在不同的游戏中,有很大的不同.这里总结一下自己学到的一些相关知识. 固定位置-游戏过程中相机的T ...
随机推荐
- uva10256(计算几何)
省选前练模板系列: #include<cmath> #include<cstdio> #include<cstring> #include<iostream& ...
- spring整合mybatis框架
1.导入jar包 2.配置文件 a. applicationContext.xml文件 <beans xmlns="http://www.springframework.org/ ...
- win7 docker Toolbox 启动Docker Quickstart Terminal 失败!
解决办法: 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败! 主要是用如下文件启动,临时解决,或设置环境变量
- WPF的AutoCompleteBox控件
AutoCompleteBox怎么用,网上都能查得到,本文就不再赘述. 最近在用的时候,发现一个小BUG,当匹配数据的个数超过了Drop页面能够显式的数据个数时,如果此时一直按键盘上“向下的箭头”,你 ...
- Centos6.5---samba文件共享服务配置(二)
Linux-----samba服务配置(二) 需求: 某公司销售部门提出一个文件共享需求,要求部门共享目录有三个,第一个共享目录所有销售部门人员都具有可读可写权限:第二个共享目录所有销售人员只读权限, ...
- 在ASP.NET MVC里对Web Page网页进行权限控制
我们在ASP.NET MVC开发时,有时候还是得设计ASP.NET的Web Page网页(.aspx和.aspx.cs),来实现一些ASP.NET MVC无法实现的功能,如此篇<Visual S ...
- Maven相关命令
mvn comile 编译(main - >java) mvn test 测试 mvn package 打成 jar / war 包 mvn install 将模块放入本地仓库 mvn cl ...
- Scala - 快速学习09 - 函数式编程:一些操作
1- 集合类(collection) 系统地区分了可变的和不可变的集合. scala.collection包中所有的集合类 可变集合(Mutable) 顾名思义,意味着可以修改,移除或者添加一个元素. ...
- IdentityServer4源码颁发token分析及性能优化
IdentityServer4源码地址 IdentityModel源码地址 以下的流程用ResourceOwnerPassword类型获取token作为介绍 分两种获取形式说明 token请求地址为默 ...
- session的一些笔记
HttpSession hs = request.getSession();//以键值对方式存储数据在session中hs.setAttribute("code", code);/ ...