1、问题背景
最近在调试的项目,有关于对解析力的要求,用 imatest 软件测试 MTF50 的值,如下图所示,可以看到他有不同的单位表示,LW/PH、Cycles/pixel 。另外关于解析力的单位还有LP/mm、L/mm、Cycles/mm、LP/PH,他们具体表示什么含义,又存在怎样的换算关系?
另外当已知 sensor 的规格该怎样选择分辨力合适的镜头?或者已知镜头的规格,该搭配什么分辨率规格的 sensor ? 这是本文要说清楚的主要内容。
2、问题分析
a、各个分辨率单位的具体含义是什么?
1)LP/mm,Line pairs per millimetre,每毫米线对。就是指拍摄标准的线对图,在成像平面1mm间距内能分辨开的黑白相间的线条对数,常用于表示镜头分辨率的单位。
比如10 lp/mm,意指1mm长度上有10对黑白一组的线,黑白线相加一共20根,那每根线的宽度就是1/20 = 0.05mm。30 pl/mm对应的每根线的宽度是 1/60 = 0.0167mm。
显然,分辨出0.0167mm宽度的线条肯定比0.05mm宽度的更困难。这意味着能分辨出单位长度下的线对数越多,镜头的分辨能力越强。
2)L/mm,Lines per millimetre,每毫米线数。也就是把上面的 LP(线对)换成了线条数来计算了,L/mm = 2 x LP/mm
3)LW/PH,Line width per picture height,像高每线宽。像高是指 sensor 物理尺寸的高,单位是mm。线宽是指拍摄标准的线对图,单位长度上的线对宽度。也就是,每像高最多可以分辨多少条线,常用于表示相机的摄影分辨率(是指镜头和相机的综合分辨率),
比如一个 sensor 是10 * 20mm的画幅, 如果纵向可以填进去1000根线, 横向可以填进去2000线,垂直分辨率就是:2000线,也就是 2000lw/ph, 水平分辨率就是1000线,也就是 1000lw/ph(由于 lw/ph 在不同方向上不能保证线条数目一样, 所以测试要分横向和纵向)。
4)Cycles/mm ,Cycles per millimetre,每毫米周期。这里的周期就是指拍摄的线对,也就是黑白条纹,他是按周期性变化的。一个黑白条纹就是一个周期,所以可以理解成,1mm内有多少对黑白条纹的变化,这里完全可以理解成 LP/mm 。
5)Cycles/pixel,Cycles per pixel,像素每周期。表示在每个像素内有多少个完整的周期或变化(这里的就是指黑白条纹的变化)。"cycles/pixel" 的值越高,表示图像中的细节变化速度越快,分辨率越高。相反,值越低,表示细节变化较慢,分辨率较低。
假设有一幅图像,其中有黑白相间的条纹,而且这些条纹是水平排列的。如果每两个像素之间有一个完整的黑白相间的条纹,那么我们可以说这个图像的空间频率是 0.5 cycles/pixel。这是因为在每两个像素之间,我们有一个完整的周期(一个黑条纹和一个白条纹)。
如果我们在同样的距离内有两个完整的周期,那么空间频率将是 1 cycle/pixel,因为每个像素内有1个周期。
6)LP/PH,Line pairs per picture height,像高每线对。只是把线条数换成了线对数来表示,也就是,每像高最多可以分辨多少线对, lp/ph = 0.5 * lw/ph。
b、各个分辨率单位之间是如何进行换算的。
如上是一个分辨率单位换算的表格,来源于大话成像论坛,如下是针对这个表格做的一些说明及验证,否则不是太好理解。
1)横向的第1排单位的值,是未知的。纵向第1列单位的值,是已知的,待计算的。
2)表格中 picture height,是指 sensor 物理尺寸的高,picture height = 像素尺寸 x 像素数量 。
3)表格中 #vert.pixel, 是指 sensor 垂直方向的像素数量,比如 1920x1080 的 sensor , 那这个值就是1080 。
4)表格中 pixel ptich,这里的像素间距就是像素尺寸。
5)单位换算举例:
以 sc233a 这款sensor 的规格为例:pixel size = 2.9um、picture height = 2.9um x 1080 = 3.132mm
如下图是用 imatest 分析出的结果,MTF50 = 0.6643cy/pxl = 1435LW/PH ,可以用上面的表格里的公式来验证一下结果。
lw/ph = cy/pxl x 2 x #vert.pixel = 0.6643 x 2 x 1080 = 1435lw/ph (0.6643像素每周期,周期可以理解成线对,乘以2就是像素每线数,再乘以总的像素数1080,那就是像高每线数了)。
lp/mm = lw/ph / picture height / 2 = 1435 / 3.132 / 2 = 229 lp/mm(像高每线数,除以一个像高后,就是毫米每线数,再除以2,就是毫米每线对数)。
cycles/pixel = lp/mm x pixel pitch = 229 x 0.0029 = 0.6641 cycles/pixel(毫米每线对,也就是毫米每周期,乘以单个像素尺寸后,就是像素尺寸每周期,可以理解成像素每周期)。
c、镜头与 sensor 像素的匹配
镜头分辨率与像素的转换:
像素数(P)= 感光元密度(2 x lp/mm)x 感光器高度(mm) x 感光元密度(2 x lp/mm)x 感光器宽度(mm);
举例:
1)已知镜头的分辨率值为125lp/mm, sensor尺寸是 1/2"(6.4*4.8mm),需要配多少像素的感光器才能发挥镜头成像水平?
---- 感光元密度为 250 pixel/mm, 像素数:P=(6.4x250) x (4.8x250)=1920000 pixel
(感光元密度:根据纳奎斯特采样定理,一个感光元对应一条白线或黑线)。
2)已知200万像素摄像机(像素数为:1600x1200=1920000),sensor尺寸是 1/2"(6.4*4.8mm),求相配的镜头分辨率 ?
---- 水平像素密度:1600/6.4=250pixel/mm,垂直像素密度:250pixel/mm,镜头分辨率:125lp/mm( 若水平或垂直像素密度不等,应参考密度高的)。
3)已知sensor的像素尺寸为4um,那么所对应镜头分辨率是多少?
---- 所选镜头的极限分辨率(白线或黑线线宽)也应该是:4um,一对黑白线的宽度:2 x 0.004mm,镜头的分辨率就是1/(2x0.004)= 125lp/mm 。