Skip to content

Keypoint Detection

Detect and visualize keypoints using SIFT, AKAZE, or ORB algorithms.

Usage

import cv2
import imvf

# Load image
image = cv2.imread("path/to/image.jpg")

# Create visualizer with specific algorithm
visualizer = imvf.KeypointVisualizer(algorithm="SIFT")

# Apply visualization
result = visualizer(image)

# Display results
cv2.imshow("Keypoints", result.keypoint)
cv2.imshow("Rich Keypoints", result.rich_keypoint)
cv2.waitKey(0)

Available Algorithms

SIFT (Scale-Invariant Feature Transform)

visualizer = imvf.KeypointVisualizer(algorithm="SIFT")
  • Scale and rotation invariant
  • High quality features
  • Patented (free for research)

AKAZE (Accelerated-KAZE)

visualizer = imvf.KeypointVisualizer(algorithm="AKAZE")
  • Fast and efficient
  • Scale and rotation invariant
  • Open source

ORB (Oriented FAST and Rotated BRIEF)

visualizer = imvf.KeypointVisualizer(algorithm="ORB")
  • Very fast
  • Rotation invariant
  • Free and open source

Result Structure

The KeypointResult dataclass contains:

  • keypoint: Basic keypoint visualization
  • rich_keypoint: Detailed keypoint visualization with size and orientation

Use Cases

  • Image matching and alignment
  • Object recognition
  • 3D reconstruction
  • Camera tracking
  • Panorama stitching

See Also