第五课 小孔成像相机模型的局限性

以上回顾下这个数学模型。

原来是这么回事。。。

疑问暂时明白点了。

补充下FoV如何计算?想一想。

焦距与成像效果的关系?想一想。

光圈与曝光时间的关系?想一想。

光圈过大或者过小有什么影像?想一想。

焦距既影响Fov,又影响透视效果。

什么是透视效果?什么情况下透视效果强?什么时候弱?想想无穷远相机。

小孔成像能量不足,所以用透镜聚光。

透镜呢,有一个对应的焦距f。

物理上,f与光的波长有关。

自然光有不同的波段(波长)。

比如白光通过透镜,不同颜色的光焦距不同。仔细想想这种场景。

 

镜头畸变:径向畸变,切向畸变。去畸变很重要。

径向畸变原因?切向畸变的原因?

两层LCD利用针孔模型早就不连续的视场角。想一想怎么做?interesting!!!

 

### 小孔成像相机模型内参标定方法 #### 1. 原理概述 小孔成像模型是一种理想化的相机成像方式,在该模型下,光线通过一个小孔投射到感光平面上形成倒立缩小的影像。为了描述实际相机的行为并将其映射至此理论框架中,需确定一系列参数——即所谓的“内参”。这些参数包括焦距(focal length),光学中心(optical center)的位置(cx, cy),以及可能存在的径向(radial distortion coefficients k1,k2,...)和切向(tangential distortion parameters p1,p2)畸变系数。 对于针孔相机而言,其内部几何特性由一个3×3大小的矩阵来表示: \[ K=\begin{bmatrix} f_x & s & c_x \\ 0 & f_y & c_y\\ 0&0&1 \end{bmatrix} \tag{1}\label{eq:intrinsics_matrix} \] 其中\(f_x\) 和 \(f_y\) 是沿x轴和y轴方向上的有效焦距;\(c_x,c_y\) 定义了主点(principal point) 或者说是图像坐标的原点相对于像素网格左上角偏移量;而s项则用于处理非方形像素的情况(通常情况下设为零),它反映了两个坐标轴之间的斜率偏差[^2]。 #### 2. 实验准备与数据采集 要获得上述提到的各项参数值,最常用的方法之一就是利用已知尺寸的标准棋盘格图案作为参照物来进行拍摄实验。具体来说,就是在不同角度、距离条件下多次捕捉同一物体的不同视角下的多幅图片,并记录每一张照片对应的姿态信息(旋转和平移)[^1]。 #### 3. 参数估计过程 基于获取的数据集,可以通过最小化重投影误差(reprojection error) 来优化求解未知变量。简单来讲,就是寻找一组最优的内在参数使得计算所得的理想特征点位置尽可能接近于真实观测结果。这一过程中涉及到的关键算法有: - **张正友标定法**:这是一种广泛应用于单目视觉系统的自校准技术,能够有效地消除透镜引起的透视失真效应的同时恢复出完整的摄像机内外方位元素集合。 - 使用OpenCV库中的`cv::calibrateCamera()` 函数实现自动化流程。给定世界坐标系下的三维点及其对应二维投影坐标后,该接口会自动完成整个迭代拟合操作,并返回最终估算出来的各项属性数值。 ```cpp // C++ code snippet using OpenCV for camera calibration. std::vector<std::vector<cv::Point3f>> objectPoints; std::vector<std::vector<cv::Point2f>> imagePoints; cv::Size imageSize; // ... (populate the above vectors with your data) double rms = cv::calibrateCamera(objectPoints, imagePoints, imageSize, K, distCoeffs, rvecs, tvecs); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值