【发布时间】:2018-06-28 00:59:44
【问题描述】:
我试图复制this camera calibration code。
当我运行我的脚本时,校准过程不会停止大约 30 分钟(我期望输出的固有相机矩阵)。我的代码有什么问题?为什么校准过程需要这么长时间?
这是我的代码
import os
import cv2
import numpy as np
# DUMMY TEST
FilepathCalib = './data'
# Declaring global variable
img_calib_set = []
points_3d_sample = np.zeros((6*7,3), np.float32)
points_3d_sample[:,:2] = np.mgrid[0:7,0:6].T.reshape(-1,2)
points_2d = []
points_3d = []
# Loading calibration image dataset
for img_calib in os.listdir(FilepathCalib):
img_calib = cv2.imread(FilepathCalib + '/' + img_calib, 0)
img_calib_set.append(img_calib)
# Finding checkerboard corners pattern in image dataset
for img in img_calib_set:
ret_val, corner = cv2.findChessboardCorners(img, (7,9), None)
if ret_val == True:
points_3d.append(points_3d_sample)
points_2d.append(corner)
# Extracting camera parameters
ret_val, intrinsic_mat, dist_coef, rot_vector, tran_vector =
cv2.calibrateCamera(points_3d, points_2d, img_calib_set[0].shape[::-1], None, None)
print(intrinsic_mat)
这是我的示例校准图像
【问题讨论】:
标签: python opencv computer-vision camera-calibration