Skip to main content
. 2018 Aug 15;9(9):4317–4328. doi: 10.1364/BOE.9.004317

Algorithm 1.

Auto-Montaging with ORB

Input:    Tiles T = {t1, t2, . . ., tn} with ti = (ci, si, di) consisting of three images
      Nominal positions P = {p1, p2, . . ., pn}
Output:    Transformations between images
  Calculate ORB keypoints and descriptors of all tiles
  Associate nominally close tiles
  while Still an unaligned image do
  Pick random unaligned tile and consider aligned
  while aligned a tile on previous iteration do
    for src ∈ unmatchedImages do
      for dst ∈ nominallyClose(src) ∩ matchedImages do
        Compare src and dst descriptors using LSH
        Estimate transformation, and inliers using RANSAC, saving result
        if #inliers > 50 then ▹ Translation is good enough
          Save transformation from src to dst
          Exit for loop
      if best #inliers > 10 then ▹ Best translation is good enough
        Save transformation from src to its best match