我在用相机校准 OpenCV
并设法得到所有的相机参数,但现在我不确定我是否做的每件事都正确。
这是我使用的图像
我在图像上使用了6个点(4个球场角落和两个在中间的地方,网接触球场线) imgPts = [[577, 303], [1333, 303], [495, 517], [1422, 517], [366, 857], [1562, 857]]
假设左上角是原点,我构建了相应的世界坐标,单位为米(23.77m x 10.97m): objPts = [[0, 0, 0], [10.97, 0, 0], [0, 11.8, 0], [10.97, 11.8, 0], [0, 23.77, 0], [10.97, 23.77, 0]]
以下是我获取相机矩阵、旋转平移向量的代码:
objPts = np.array(objPts)
objPts = objPts.astype('float32')
imgPts = np.array(imgPts)
imgPts = imgPts.astype('float32')
w = frame.shape[1]
h = frame.shape[0]
size = (w,h)
camera_matrix = cv2.initCameraMatrix2D([objPts],[imgPts], size)
rms, camera_matrix, dist_coefs, rvecs, tvecs = cv2.calibrateCamera([objPts], [imgPts], size, None, None)
如何检查这些值/矩阵/向量是否正确?
暂无答案!
目前还没有任何答案,快来回答吧!