Camera Calibration
Homogeneous Coordinates
- 齐次坐标
- 对于一个2D空间里的点
- 笛卡尔坐标 (X,Y) ( X , Y )
- 齐次坐标 (x,y,w) ( x , y , w )
- X=xw,Y=yw X = x w , Y = y w
- 两条平行直线可以相交在 (x,y,0) ( x , y , 0 )
- 三维空间中(笛卡尔坐标)
- 向量 v→=(a,b,c) v → = ( a , b , c ) : v→=ax→+by→+cz→ v → = a x → + b y → + c z →
- 点 v→=(a,b,c) v → = ( a , b , c ) : v→=ax→+by→+cz→+O v → = a x → + b y → + c z → + O
- 使用齐次坐标将点与向量统一
- 向量: (a,b,c,0)×(x→,y→,z→,O)T ( a , b , c , 0 ) × ( x → , y → , z → , O ) T
- 点: (a,b,c,1)×(x→,y→,z→,O)T ( a , b , c , 1 ) × ( x → , y → , z → , O ) T
- 对于一个点, (wa,wb,wc,w) ( w a , w b , w c , w ) 也表示同一个点
- 用矩阵表示变换
- 平移: y→=x→+b→ y → = x → + b →
-
⎡⎣⎢⎢⎢⎢⎢⎢y1y2⋮yn1⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢10⋮0001⋮00⋯⋯⋱⋯⋯00⋮10b1b2⋮bn1⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢x1x2⋮xn1⎤⎦⎥⎥⎥⎥⎥⎥ [ y 1 y 2 ⋮ y n 1 ] = [ 1 0 ⋯ 0 b 1 0 1 ⋯ 0 b 2 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ 1 b n 0 0 ⋯ 0 1 ] [ x 1 x 2 ⋮ x n 1 ]
A Calibrator with OpenCV
系统函数
cv::calibrateCamera
double calibrateCamera
(
inputArrayOfArrays objectPoints,
inputArrayofArrays imagePoints,
Size imageSize,
inputOutputArray cameraMatrix,
inputOutputArray distCoeffs,
OutputArrayOfArrays rvecs,
OutputArrayOfArrays tvecs,
int flags = 0,
TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON)
)
- objectPoints
vector< vector<Point3f> > objectPoints;
有几张黑白板的照片,外层vector就有几个元素。
内层vector存放格点。尽管是三维坐标,但因为所有的格点都在板子上,因此可以把板子放在一个XY平面上,从而使每个格子的z坐标都是0.
方便起见,常用格点所在的行和列作为拐点的坐标。
- imagePoints
vector< vector<Point2f> > imagePoints;
存放格点在图像中的坐标。注意需满足:
objectPoints.size() == ImagePoints.size() 且 objectPoints[I].size() == imagePoints[I].size()
- imageSize
Size imageSize;
图片的大小,image.size()即可。
- cameraMatrix
Mat cameraMatrix;
用于输出
3×3
3
×
3
的相机矩阵
[fx000fy0cxcy1]
[
f
x
0
c
x
0
f
y
c
y
0
0
1
]
。
注意若参数CV_CALIB_USE_INTRINSIC_GUESS或CV_CALIB_FIX_ASPECT_RATIO被声明,则
fx,fy,cx,cy
f
x
,
f
y
,
c
x
,
c
y
可能需要被预先声明。
- distCoeffs
Mat distCoeffs;
(k1,k2,p1,p2[,k3[,k4,k5,k6]]) ( k 1 , k 2 , p 1 , p 2 [ , k 3 [ , k 4 , k 5 , k 6 ] ] ) ,输出4或5或8个元素。
- rvecs
vector<Mat> rvecs;
对每个图像计算出的旋转矩阵
- tvecs
vector<Mat> tvecs;
对每个图像计算出的平移矩阵(向量)。
- flags
- criteria
迭代优化算法的终止条件。