确实需要在将来的版本中更改此实现。
从OpenCV文档中获得
perspectiveTransform():
src –输入 两通道 (…)浮点数组
我偏重强调。
>>> A = np.array([[0, 0]], dtype=np.float32)>>> A.shape(1, 2)
因此,从这里我们看到的
A只是一个单通道矩阵,即二维矩阵。一排,两列。相反,您需要一个 两通道
图像,即一个三维矩阵,其中三维尺寸的长度为2或3,具体取决于您是以2D还是3D点进行发送。
简而言之,您需要再添加一组括号,以三维方式发送要发送的点集,其中
x值在第一个通道中,而
y值在第二个通道中。
>>> A = np.array([[[0, 0]]], dtype=np.float32)>>> A.shape(1, 1, 2)
它不是直观的,尽管有文档记录,但在这一点上不是很明确。这就是您所需要的。之前,我已经回答了一个相同的问题,但
cv2.transform()功能方面。



