计算机视觉|基于棋盘格标定板的单目相机标定



【计算机视觉|基于棋盘格标定板的单目相机标定】

三、

#张大可修改#调用各种库文件 import cv2 import glob import numpy as np #设置使用的棋盘规格,cbraw为列数,cbcol为行数 cbraw = 11 cbcol = 8 # prepare object points, like (0,0,0), (1,0,0), (2,0,0) ....,(6,5,0) #得到objp为cbraw*cbcol行,3列的0矩阵 objp = np.zeros((cbraw*cbcol,3), np.float32) ''' 设定世界坐标下点的坐标值,因为用的是棋盘可以直接按网格取; 假定棋盘正好在x-y平面上,这样z=0,简化初始化步骤。 mgrid把列向量[0:cbraw]复制了cbcol列,[0:cbcol]复制了cbraw行。 转置reshape后,每行都是8*11网格中的某个点的坐标。 ''' #得到objp[[ 0.,0.,0.],[ 6.,0.,0.],[ 12.,0.,0.]一共有cbraw*cbcol个,其中修改的是棋盘格的边长15 objp[:,:2] = np.mgrid[0:cbraw*15:15,0:cbcol*15:15].T.reshape(-1,2) #print('objp',objp) objpoints = [] # 3d point in real world space imgpoints = [] # 2d points in image plane. #glob是个文件名管理工具 images = glob.glob("E:\picture\last\liaoding2\*.bmp") for fname in images: #对每张图片,识别出角

    推荐阅读