Skip to contents

findTransformORB computes the geometric transform between two images in terms of the ORB feature detector.

Usage

findTransformORB(
  template,
  image,
  warp_mode = "affine",
  max_features = 500,
  descriptor_matcher = "BruteForce-Hamming",
  match_frac = 0.15,
  homography_method = "RANSAC"
)

Arguments

template

A grayscale Image object.

image

A grayscale Image object of the same dimensions as template.

warp_mode

A character string indicating the type of warping required to transform image into template. It can be any of the following:

  • "affine" (default):affine transformation (Euclidean + shear; this transformation will preserve parallelism between lines).

  • "homography":homography transformation (affine + perspective; this transformation does not preserve parallelism between lines).

max_features

The maximum number of features to extract (default: 500).

descriptor_matcher

A character string indicating the type of the descriptor matcher to use. It can be one of the followings: "BruteForce", "BruteForce-L1", "BruteForce-Hamming" (the default), "BruteForce-Hamming(2)", or "FlannBased".

match_frac

The fraction of top matches to keep (default: 0.15).

homography_method

A character string indicating the method used to compute a homography matrix. It can be one of the followings: "LS" (least-square), "RANSAC" (RANSAC-based robust method; the default), "LMEDS" (Least-Median robust method), or "RHO" (PROSAC-based robust method).

Value

A 2x3 or 3x3 (if warp_mode = "homography") matrix.

References

Evangelidis, G. D., and Psarakis, E. Z. (2008). Parametric image alignment using enhanced correlation coefficient maximization. IEEE Trans. Pattern Anal. Mach. Intell. 30, 1858–1865. doi:10.1109/TPAMI.2008.113.

See also

Author

Simon Garnier, garnier@njit.edu

Examples

file1 <- system.file("sample_img/balloon1.png", package = "Rvision")
file2 <- system.file("sample_img/balloon2.png", package = "Rvision")
balloon1 <- changeColorSpace(image(file1), "GRAY")
balloon2 <- changeColorSpace(image(file2), "GRAY")
findTransformORB(balloon1, balloon2)
#>            [,1]      [,2]      [,3]
#> [1,]  1.1907848 0.1557008 -212.3257
#> [2,] -0.2262562 1.1072557  141.3409