cv2.PerspectiveTransform和直接点特定单应翻译的问题[Python]

2024-10-08 22:20:52 发布

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

我试图使用perspectiveTransform()函数来转换使用单应矩阵的cordinate

我使用following方法输入单应矩阵和坐标。此函数返回一个点数列表,每个点的大小为512。在当前场景中,该列表由4个大小为512的列表组成。我本来想得到四个最新的坐标

    points=np.array([[xmin,ymin],[xmin,ymax],[xmax,ymax],[xmax,ymax]], dtype='float32')
    h=np.array([homographyMatrix],dtype='float32') 
    print(cv2.perspectiveTransform(cords,h))

此外,我在前面找到了another的解决方案,关于直接使用单应矩阵平移单个坐标,扩展维度(x,y,1),并使用第三维规范化新坐标将得到平移的坐标。但这给了我一个负坐标和一个正坐标

p1=(x1, y1, 1)
p2=p1.dot(H)   #numpy matrix multiplication function
p2 /= p2[2]; //normalize the output to get the right (x2, y2, 1)

我想要玩家在转换单点(x,y)后的更新坐标,我想知道它将被转换到哪个位置(x',y')


Tags: the函数列表np矩阵arrayxminymax

热门问题