【CV】鱼眼相机模型与畸变矫正(Fisheye Camera Model & Calibration)
RefFisheye Calibration Basics – MATLAB
鱼眼镜头
鱼眼镜头长这样
#鱼眼镜头成像样张
拍出来的照片长这样
鱼眼名称的由来
之所以叫鱼眼,是因为仿生的鱼眼

鱼眼镜头的实现
实际的实现,是分层的

鱼眼相机的成像模型
成像模型是这样的


正向成像过程基本分三步:
- 针孔成像,得到理想坐标
- 鱼眼畸变
- 调整图像坐标
3D世界中一点 P, 坐标为 X,首先针孔投影到相平面坐标是[a; b]: s [ a   b   1 ] T = R X + T s[a \, b \, 1]^T = RX + T s[ab1]T=RX+T, 且有 r 2 = a 2 + b 2 θ = a t a n ( r ) r^2 = a^2 + b^2 \\ \theta = atan(r) r2=a2+b2θ=atan(r)
之后施加鱼眼畸变 θ d = θ ( 1 + k 1 θ 2 + k 2 θ 4 + k 3 θ 6 + k 4 θ 8 ) \theta_d = \theta (1 + k_1 \theta^2 + k_2 \theta^4 + k_3 \theta^6 + k_4 \theta^8) θd=θ(1+k1θ2+k2θ4+k3θ6+k4θ8)
畸变后坐标为[x’; y’],满足 x ′ = ( θ d / r ) a y ′ = ( θ d / r ) b x' = (\theta_d / r) a \\ y' = (\theta_d / r) b x′=(θd/r)ay′=(θd/r)b
最后调整到像素坐标系[u; v] u = f x ( x ′ + α y ′ ) + c x v = f y y ′ + c y u = f_x (x' + \alpha y') + c_x \\ v = f_y y' + c_y u=fx(x′+αy′)+cxv=fyy′+cy
鱼眼图像的矫正

Ref
更多推荐


所有评论(0)