2013-05-03 10 views
6

W moim scenariuszu Mam następujący kod:OpenCV parametr warpPerspective

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 mówi:

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) 

ale według dokumentacji:

Python: cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst 

trzy parametry są OK. Mam taki sam problem z cv2.warpAffine.

Odpowiedz

14

Problem rozwiązany. img.shape powraca krotki z 3 elementów, warpPerspective spodziewa krotka z 2.

2

Spróbuj

finished = cv2.warpPerspective(img, transform, img.shape[1::-1]) 
+0

Co '[1 :: - 1]' oznacza? – tomfriwel