gpt4 book ai didi

python - ReprojectImageTo3D 对应图像中的像素(立体视觉)

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:18 26 4
gpt4 key购买 nike

我有视差图。

基于视差图,悬停在“左图”上显示:

Xy 的图像,所以如果我悬停在最左上角,它会显示 x:0, y:0

下一步是显示特定像素的距离,为了让我的生活更轻松,我将尝试使用 reprojectImageTo3D(disp, Q)

我从 stereoRectify 得到了 Q

现在,python 中的 reprojectImageTo3D 返回一个 n x 3 矩阵。

所以我可以看到,它是一排x y z坐标。想知道,我怎么知道这些坐标对应于哪个像素?

这是我使用 numpy.savetxt 保存的 3D 点的示例

http://pastebin.com/wwDCYwjA

顺便说一句:我在 python 中做所有事情,但是 GUI 在 Java 中,我没有时间在 python 中学习 GUI。

最佳答案

如果您正确计算视差图,您应该得到 (n1,n2,1) 维数组,其中 n1,n2 - 轴上图像的像素数,1 - channel 数(单 channel ,包含以像素为单位的距离左图像和右图像的相应像素之间)。您应该通过键入 disp.shape 来检查。之后,您应该将视差图的 ndarray 传递给 reprojectImageTo3D 函数并获得 ndarray,它具有 (n1,n2,3) 形状(第三维包含 3D 点的 X、Y、Z 坐标)。您可以通过键入以下内容进行检查:

threeDImage = reprojectImageTo3D(disp, Q)
print threeDImage.shape

最后,由于您根据左图制作了视差图,因此在左图(或视差图)上具有坐标 x,y 的每个像素对应于 threeDImage[x][y] 3D 点。请记住,行:0,列:0 是矩阵的左上角元素,基于 opencv 处理图像:

0/0---column--->
|
|
row
|
|
v

关于python - ReprojectImageTo3D 对应图像中的像素(立体视觉),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com