我必须从一组图像重建一个三维物体。假设我已经对所有的图像进行了相机校准(从示例10图像中,所有的图像都以不同的角度显示对象)。我创建了一个视差贴图数组(例如第一个带有图像1和2的数组,第二个带有图像2和3的数组,依此类推),然后我必须创建一个包含所有视差贴图的点云,我该怎么做呢?下面是我用来处理2个图像的代码。你知道吗
stereo = cv2.StereoSGBM_create(minDisparity= min_disp,
numDisparities = num_disp,
blockSize = 5,
uniquenessRatio = 5,
speckleWindowSize = 5,
speckleRange = 5,
disp12MaxDiff = 1,
P1 = 8*3*win_size**2,#8*3*win_size**2,
P2 =32*3*win_size**2) #32*3*win_size**2)
#Compute disparity map
print ("\nComputing the disparity map...")
disparity_map = stereo.compute(img_1_downsampled, img_2_downsampled)
Q = np.float32([[1,0,0,-w/2.0],
[0,-1,0,h/2.0],
[0,0,0,-focal_length],
[0,0,1,0]])
points_3D = cv2.reprojectImageTo3D(disparity_map, Q)
目前没有回答
相关问题 更多 >
编程相关推荐