pwspy.utility.machineVision.ORBRegisterTransform¶
- pwspy.utility.machineVision.ORBRegisterTransform(reference, other, mask=None, debugPlots=False)[source]¶
Given a 2D reference image and a list of other images of the same scene but shifted a bit this function will use OpenCV to calculate the transform from each of the other images to the reference. The transforms can be inverted using cv2.invertAffineTransform(). It will return a list of transforms. Each transform is a 2x3 array in the form returned by opencv.estimateAffinePartial2d(). a boolean mask can be used to select which areas will be searched for features to be used in calculating the transform.
- Parameters
reference (np.ndarray) – The 2d reference image.
other (Iterable[np.ndarray]) – An iterable containing the images that you want to calculate the translations for.
mask (np.ndarray) – A boolean array indicating which parts of the reference image should be analyzed. If None then the whole image will be used.
debugPlots (bool) – Indicates if extra plots should be openend showing the process of the function.
- Returns
- A tuple containing:
List[np.ndarray]: Returns a list of transforms. Each transform is a 2x3 array in the form returned by opencv.estimateAffinePartial2d(). Note that even though they are returned as affine transforms they will only contain translation information, no scaling, shear, or rotation.
ArtistAnimation: A reference the animation used to diplay the results of the function.
- Return type
tuple