我正在尝试从梯形(在第一张图像中)转换为矩形(在第二张图像中),但得到一个奇怪的结果(在第三张图像中)。
我的计划是使用透视变换,由梯形的四个角点和矩形的四个角点定义。
在此示例中,对于梯形,它们是:
ptsTrap = [[ 50. 100. ]
[ 50. 200. ]
[ 250. 64.73460388]
[ 250. 235.26539612]]
对于矩形:
ptsRect = [[ 50. 100.]
[ 50. 200.]
[ 250. 100.]
[ 250. 200.]]
我从以下几点得到了透视变换:
T = cv2.getPerspectiveTransform(ptsTrap, ptsRect)
然后从中构建图像:
arrTrapToRect = cv2.warpPerspective(arrTrap, T, arrTrap.shape[:2])
但是,正如您从图像中看到的那样,这并没有给出预期的转换。
我似乎无法弄清楚为什么甚至定义变换的点也没有根据它进行投影。有任何想法吗?