评估摄像机校准产生的内部/外部参数的正确性

uqzxnwby  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(152)

我在用相机校准 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)

如何检查这些值/矩阵/向量是否正确?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题