Example #1
0
    if kmeans.inertia_ == 0:
      return kmeans
    prev_inertia = prev_kmeans.inertia_ if prev_kmeans else None
    improvement = None if prev_inertia is None else prev_inertia / kmeans.inertia_
    if improvement is not None and improvement < 2:
      break
    prev_kmeans = kmeans
  return prev_kmeans

def create_match_image(img1, img2, points1, points2, match_dists, ring_points):

  # Draw thick rings at each cluster centroid.

  canvas = l1_match.create_match_image(img1, img2, points1, points2, match_dists)
  h1, w1 = img1.shape[:2]
  for x, y in ring_points:
    cv2.circle(canvas, (int(x + w1), int(y)), 10, (0,255,0), 4)
  return canvas

if __name__ == '__main__':
  # needle = l0_image.Image('stuff/needles/jb.jpg')
  # hay_path = os.path.expanduser('~/Desktop/frames/out0301.png')

  needle = l0_image.Image('stuff/needles/bud-light.jpeg')
  hay_path = os.path.expanduser(config.get_frame('out0271.png'))

  hay = l0_image.Image(hay_path)
  points1, points2, sdists, kmeans, biggest_group = get_match_points(needle, hay)
  canvas = create_match_image(needle.image, hay.image, points1, points2, sdists, kmeans.cluster_centers_)
  l0_image.display(canvas)
Example #2
0
  keep_indexes = set()
  median_ratio = np.median(ratios, axis=0)[1] if ratios else None
  for i, ratio in ratios:
    if ratio >= median_ratio * .5 and ratio <= median_ratio * 2 or median_ratio == 0:
      keep_indexes.add(i)

  points1, points2, match_dists = [
    [list_[i] for i in keep_indexes] for list_ in points1, points2, match_dists]

  if len(points1) == 1:
    points1, points2 = [], []
  return points1, points2, match_dists, kmeans

if __name__ == '__main__':
  needle_path = 'stuff/needles/oroweat.jpeg'
  hay_path = config.get_frame('out0144.png')
  # hay_path = '/Users/jessealdridge/Desktop/frames/out0300.png'

  # needle_path = 'stuff/needles/bud-light.jpeg'
  # hay_path = os.path.expanduser('~/Desktop/frames/out0001.png')
  # hay_path = os.path.expanduser('~/Desktop/frames/out0261.png')

  # needle_path = 'stuff/needles/jb.jpg'
  # hay_path = os.path.expanduser(config.get_frame('out0007.png')) # oh god why
  # hay_path = os.path.expanduser('~/Desktop/frames/out0077.png')
  # hay_path = os.path.expanduser('~/Desktop/frames/out0261.png')
  # hay_path = os.path.expanduser('~/Desktop/frames/out0300.png')
  # hay_path = os.path.expanduser('~/Desktop/frames/out0301.png')

  # needle_path = 'stuff/needles/therma_vid-large.mp4care.jpeg'
  # hay_path = os.path.expanduser('~/Desktop/frames/out0622.png')