我正在使用OpenCV和Python处理3D图像。

我可以从两个图像(左右)中的两个点制作一个世界坐标(X,Y,Z)。

对于本程序的其余部分:
重要的是要有一个对应于左侧(或右侧)图像像素的2D阵列。

他需要识别普通2D图像中的对象。完成后,给出所创建对象的x,y,z世界坐标。他确实通过给定图像(x,y)给出图像的(x,y)来获得x,y,z世界坐标。

我的问题是:是否有特殊功能或该怎么做?

最佳答案

您必须使用此函数来计算差异:

disp = stereo.compute(imgL, imgR).astype(np.float32) / 16.0

当您希望阵列具有3D点时,需要使用此功能,输出的大小与图像的大小相同。在每个像素上,您都会看到x,y,z位置:
points = cv2.reprojectImageTo3D(disp, Q)

如果您选择了一个点,而他却给出了怪异的返回或没有给出任何返回,那么该点当然没有x,y,z位置可用。

关于python - 将3D世界坐标放入2D数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27765000/

10-12 23:10