In my script I have the following code:
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 says:
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)
but according to documentation:
Python: cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst
three parameters are OK. I have the same issue with cv2.warpAffine
.
Problem solved. img.shape
returns tuple with 3 elements, warpPerspective expects tuple with 2.
Try this
finished = cv2.warpPerspective(img, transform, img.shape[1::-1])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With