python - 将 3D 世界坐标放入 2D 数组

标签 python opencv 3d

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

我可以从两个图像(左和右)中的两个点创建一个世界坐标(X、Y、Z)。

对于我剩余的程序: 拥有对应于左(或右)图像像素的二维数组很重要。

他需要识别普通二维图像中的物体。完成后给出创建对象的 x、y、z 世界坐标。他确实给出了图像的 (x, y) en,这个 (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/

相关文章:

python - 使用 import webbrowser 从 OpenERP 打开 URL

Python Pandas : extract date and time from timestamp

python - 使用 GSOC 进行 openCV 背景扣除

c# - 带有 C# 的 XNA 中的 NullReferenceException

3d - 非方阵在计算机图形学中如何使用?

python - 使用tornado.httpclient.AsyncHTTPClient 访问重定向响应上的 header ?

python - 随机排列训练测试分割函数中的数据 sklearn 返回错误

visual-c++ - OpenCV 2.2 网络摄像头不显示图像

c++ - cv::Mat 使用行数据填充新的 Mats 列

c++ - 将数据转换为 C header 作为存储为二进制文件的方式