pwspy.utility.machineVision.edgeDetectRegisterTranslation

pwspy.utility.machineVision.edgeDetectRegisterTranslation(reference, other, mask=None, debugPlots=False, sigma=3)[source]

This function is used to find the relative translation between a reference image and a list of other similar images. Unlike SIFRegisterTransforms this function will not work for images that are rotated relative to the reference. However, it does provide more robust performance for images that do not look identical.

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.

  • sigma (float) – this parameter is passed to skimage.feature.canny to detect edges.

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.

list: A list of references to the plotting widgets used to display the results of the function.

Return type

tuple