8
votes

I want to use estimateRigidTransform function of OpenCV but it throws up an error.

AttributeError Traceback (most recent call last) in 30 31 #Find transformation matrix ---> 32 m = cv2.estimateRigidTransform(prev_pts, curr_pts, fullAffine=False) #will only work with OpenCV-3 or less 33 34 # Extract traslation

AttributeError: module 'cv2.cv2' has no attribute 'estimateRigidTransform'

my openCV version is 4.0.0.

1

1 Answers

8
votes

As indicated in the documentation of estimateRigidTransform, this function has been deprecated:

Deprecatd: Use cv::estimateAffine2D, cv::estimateAffinePartial2D instead. If you are using this fuction with images, extract points using cv::calcOpticalFlowPyrLK and then use the estimation fuctions.

cv::estimateAffine2D should be more robust to noise, but more computationally expensive than cv::estimateAffinePartial2D. They are similar to estimateRigidTransform with the fullAffine parameter set to true or false, respectively.