gpt4 book ai didi

python - 使用 Aruco 标记获取相机位置和旋转

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:48 29 4
gpt4 key购买 nike

我使用函数cv.aruco.estimatePoseSingleMarkers()来获取rvectvec。使用这两个向量如何获得相机相对于 Aruco 标记的姿势?

while (True):
ret, frame = cap.read()

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
aruco_dict = aruco.Dictionary_get(aruco.DICT_ARUCO_ORIGINAL)
parameters = aruco.DetectorParameters_create()

corners, ids, rejectedImgPoints = aruco.detectMarkers(gray, aruco_dict, parameters=parameters)

font = cv2.FONT_HERSHEY_SIMPLEX

if np.all(ids != None):
# POSE ESTIMATION
rvec, tvec,_ = aruco.estimatePoseSingleMarkers(corners[0], 0.1, mtx, dist)

最佳答案

rvec 是标记相对于相机框架的旋转。您可以使用内置 Rodrigues function 将 rvec 转换为旋转矩阵。然后得到这个矩阵的逆(这是一个旋转矩阵,所以逆就是矩阵的转置)。这是相机相对于标记的旋转。

tvec 的幅度不受旋转的影响。如果您需要考虑相机相对于标记的方向,只需取 tvec 的负值即可。

关于python - 使用 Aruco 标记获取相机位置和旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577975/

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