projectPoints()函数的输出

2024-06-17 17:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用OpenCV的projectPoints()函数从世界坐标到像素坐标进行投影,输出的图像点是矢量点2F,如何从图像点提取x、y坐标? 第二个问题,一些图像点是负数,如下所示:我只投射了2个点,这些是结果 [[[-37.95361728 316.5438248 ]] [[204.89090594 316.5144533 ]]] 如果我在图像上没有负号的情况下显示这些坐标,它是正确的 首先,为什么我会得到一个负面的信号,我如何才能解决这些问题? 谢谢你的帮助,谢谢 这是我的代码:

import cv2 
import numpy as np

objectPoints = np.array([[ -0.8565132125748637 , 0.18200966481269648 , 0.9606457931958912 ],[-0.2565132125748638 , 0.18200966481269648 , 0.9606457931958912]] , np.float)
tvec = np.matrix([[-0.00016514 ],[ 0.00523247 ], [-0.00371881]])
rvec = np.matrix([[0.99987256 , -0.00294761 , -0.01569025],[0.00261951 , 0.99977833  , -0.02089080],[0.01574835 , 0.02084704 , 0.99965864]])
cameraMatrix = np.matrix([[ 381.58892822265625 , 0 , 313.5216979980469 ],[ 0, 381.1356201171875 , 250.1746826171875],[ 0 , 0 , 1 ]])
distCoeffs = np.array([0, 0, 0, 0, 0], np.float)

imagePoints, jacobian   =   cv2.projectPoints(  objectPoints, rvec, tvec, cameraMatrix, distCoeffs  )
print(imagePoints)

Tags: 图像importnpfloatarraycv2opencvmatrix