Coś wygląda na afoul z "getPerspectiveTransform" w opakowaniu python2 dla opencv. Na początek wymaga dwóch argumentów zamiast trzech oczekiwanych.to getPerspectiveTransform zepsuty w opakowaniu opencv python2?
Więc zamiast pierwszego owinięcia na:
cv.GetPerspectiveTransform(source,destination,3x3mat)
Teraz:
cv2.getPerspectiveTransform(?,?)
Jeśli staram się umieścić w dwóch zestawów czterech quad vert współrzędne jako argumentów tak:
cv2.getPerspectiveTransform(first_set_of_corners, second_set_of_corners)
wypluwa następujący błąd:
cv2.error: C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.
cpp:3194: error: (-215) src.checkVector(2, CV_32F) == 4 && dst.checkVector(2, CV
_32F) == 4
Jeśli checkVectors nie ma równego cztery (stąd "quad" w czworokącie), to nie jestem pewien, czego ode mnie chce. Podobnie jak w przypadku wszystkich innych elementów w pakunku python2, ta funkcja jest całkowicie nieudokumentowana, więc nie wiem, czy jest ona zepsuta, czy raczej, że robię to źle. Czy ktoś tutaj zdołał sprawić, żeby działało to poprawnie?
Tak. Ten drugi był moim problemem. Dziękuję Ci! – Snesticle
Tak, skończyłem tutaj z innego błędu. Czy byłby jakikolwiek łatwy sposób, aby wiedzieć, że chciał float32? Ani na stronie podręcznika docstring ani na stronie podręcznika OpenCV nie wspomniano, że potrzebuje liczb float32 dla cv2.getPerspectiveTransform. –
@darkgreen - sprawdzenie komunikatu o błędzie dotyczy 'CV_32F'; tajemniczy, ale ma sens, gdy go zobaczysz – sapi