[英]How to calculate 3D object points from 2D image points using stereo triangulation?
[英]Opencv 3D from points in stereo pair
OpenCV 中是否有一個簡單的函數可以從立體相機對中獲取對象的 3D 位置和姿勢?
我用棋盤校准了相機和基線。 我現在想要像同一個棋盤一樣獲取已知對象,在它自己的坐標中具有已知的 3D 點,並找到真實世界的位置(在相機坐標中)。
有針對單個相機 (POSIT) 執行此操作的函數和為整個場景查找 3D 視差圖像的函數。
執行與相機校准幾乎相同的過程並在相機對中找到棋盤必須很簡單 - 但我找不到任何采用對象 + 圖像坐標並返回立體對的相機坐標的函數。
謝謝
校准立體攝像機系統后,您可以獲得兩台攝像機之間的相對姿勢(=平移+方向)。 如果你發現其中一個攝像機和物體之間的相對姿勢,那么使用solvePnP / solvePnPRansac然后你就可以獲得物體和另一個攝像機之間的相對姿勢。 例如,在用於機器人導航的立體系統中,通常從先前幀重建的3D點僅與一個相機匹配,然后估計來自3d點的相對相機姿勢。 立體聲系統只是簡化並提高了三角測量/結構重建的質量。
是的,StereoBM_create():
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
imgL = cv.imread('tsukuba_l.png',0)
imgR = cv.imread('tsukuba_r.png',0)
stereo = cv.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL,imgR)
plt.imshow(disparity,'gray')
plt.show()
https://docs.opencv.org/4.x/dd/d53/tutorial_py_depthmap.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.