gpt4 book ai didi

opencv - 使用来自单应性结果的 cv2.solvePnP 来获取相机姿势

转载 作者:太空宇宙 更新时间:2023-11-03 21:43:58 30 4
gpt4 key购买 nike

我使用以下代码对图像进行地理配准

有输入

grid    = "for example a utm grid"
img_raw = cv2.imread(filename)
mtx, dist = "intrinsic camera matrix and
distortion coefficient from calibration matrix"
src_pts = "camera location of gcp on undistorted image"
dst_pts = "world location of gcp in the grid coordinate"

我校正相机畸变并应用单应性

img = cv2.undistort(img_raw, mtx, dist, None, None)

H, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC,5.0)
img_geo = cv2.warpPerspective(img,(grid.shape[0],grid.shape[1]),\
flags=cv2.INTER_NEAREST,borderValue=0)

然后我想获取相机的位置。我尝试使用在 cv2.solvePnP 中计算的旋转和平移矩阵,如图所示 here例如。如果我是对的,我需要至少一组 4 个共面点的相机和世界坐标。

flag, rvec, tvec = cv2.solvePnP(world, cam, mtx, dist)

同样,如果我是对的,在 solvePnP 中,相机坐标需要来自原始图像帧,而不是 src_pts 中的未失真帧。

所以我的问题是,如何获取原始图像帧中 src_pts 的像素位置?或者有没有其他方法可以得到rvec和tvec?

最佳答案

关于opencv - 使用来自单应性结果的 cv2.solvePnP 来获取相机姿势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39927642/

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