LabVIEW计算相机图像传感器分辨率以及镜头焦距
何确定使用了正确的镜头、焦距以及传感器分辨率(相机传感器CCD像素的行数和列数)?关于真实世界中的情况,已了解下列定义:
视场(FOV) - 相机可以采集到的被检测区域
分辨率 - 成像系统需要复制出的物体细节数量
物距 - 镜头前端到被检测物体的距离
请参考下列图例:
解答:
为了获得精确的测量,至少需要两个像素来表达希望检测的最小特征。请使用分辨率信息为应用选择合适的相机和镜头。
首先,需要决定图像采集系统所需的分辨率。可以先用真实世界的度量单位测量需要检测的最小特征的大小。然后,通过下式计算所需的传感器分辨率(S):
传感器分辨率(S) =(FOV / 分辨率) x 2 = (FOV / 最小特征的大小) x 2
例如:
有一个传感器分辨率为640x480的相机,希望知道在任何方向上可以检测出的最小特征的分辨率。因为要求测量不依赖于方向,因此取CCD尺寸参数中的短边,这里就是480;假设想捕获的FOV是100mm。
根据上式,能够检测到的最小特征尺寸是FOV除以传感器分辨率再乘以2(最小特征尺寸=(100/480)*2)。这样可以计算出能检测到的最小特征尺寸就是0.42mm。请注意这是一个大致的等式,没有考虑到镜头失真、具体的特征检测算法、以及是否采用亚像素精度。
然后,计算所需的焦距。
使用下列公式:
焦距 x FOV = 传感器尺寸 x 物距
对于上述例子,如果要确定物距,先假设传感器尺寸是1/2‘’,镜头焦距是12.5mm,那么物距就是98mm(物距=(12.5*100)/12.7)。请注意为统一单位要将1/2''换算为12.7mm。
出厂的镜头中,只有一部分具有标准焦距。通常的镜头焦距包括6mm,8mm,12.5mm,25mm,以及50mm等几种。一旦选择了一个焦距接近图像采集系统所需焦距的镜头,需要调整物距以使被检测物体合焦。
焦距较短(小于12mm)的镜头拍摄的图像会有明显的失真。如果应用对图像失真比较敏感,请尽量增加物距并使用焦距较长的镜头。如果不便调整物距,在选择镜头时就会受到比较大的限制。
搭建系统时,需要反复细致地调节焦距公式中的各种参数,直到找到满足检测需要并符合成本要求的组合。
LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序
上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系们。
楼主最近还看过