在我的脚本中,我有以下代码:
src = numpy.array(cornersSheet, numpy.float32)
dst = numpy.array(cornersDesired, numpy.float32)
transform = cv2.getPerspectiveTransform(src,dst)
finished = cv2.warpPerspective(img, transform, img.shape)
Python说:
Traceback (most recent call last):
File "./script.py", line 138, in <module>
finished = cv2.warpPerspective(img, transform, img.shape)
TypeError: function takes exactly 2 arguments (3 given)
但根据文件:
Python: cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst
三个参数都可以。我对cv2.warpAffine
也有同样的问题。
答案 0 :(得分:17)
问题解决了。 img.shape
返回带有3个元素的元组,warpPerspective期望元组为2。
答案 1 :(得分:2)
试试这个
finished = cv2.warpPerspective(img, transform, img.shape[1::-1])