实验拍摄设备
iPhone xr 64G
张氏相机标定法原理
我们相机拍摄照片是将3维世界中的图像通过相机的转化为2维的图像。
其中u,v是相机中的坐标,X,Y,Z是世界坐标,r是表示旋转的矩阵。这是世界坐标到像平面坐标的公式。
传统的方法需要我们制作一个精度极高的标定板,碍于技术限制,这种传统的方法在自己做实验时并不适用,因为我们不能制作出精度如此高的标定板。张正友提出的方法是打印出如博文一开始的棋盘图,因为棋盘黑白相间,且距离我们自己可控,所以在通过角点的检测就能找到这些角点在图像中的坐标。而对与世界坐标的认定,我们将这个棋盘看成是XOY这个平面,所以我们只需要设定一个世界坐标的原点,就会得知每个棋盘角点在世界坐标的坐标信息。
代码:
#-- coding:utf-8 --
import cv2
import glob
import numpy as np
cbraw = 11
cbcol = 7
prepare object points, like (0,0,0), (1,0,0), (2,0,0) …,(6,5,0)
objp = np.zeros((cbraw*cbcol,3), np.float32)