4
我想从一个梯形(在第一个图像)到一个矩形(在第二个图像),但得到一个奇怪的结果(在第三个图像)。OpenCV透视变换给予意想不到的效果
我的计划是使用透视变换,通过梯形的四个拐角点和矩形的四个角点限定。
在这个例子中,对于梯形它们是:
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])
但是,正如您从图像中看到的,这并没有给出预期的转换。
我似乎无法弄清楚为什么即使定义转换的点也没有按照它进行投影。有任何想法吗?
谢谢那确实是问题所在。我自己在制作图片,而我犯了愚蠢的错误,把x,y当作我,j而不是j,i。现在看起来不错! – sapi