Feature Points
Feature points (keypoints) are distinctive locations in an image — corners, blobs, and junctions — that can be reliably found again in different images of the same scene.
8 min•By Priygop Team•Updated 2026
Detecting Feature Points with ORB
Detecting Feature Points with ORB
import cv2
import numpy as np
image = cv2.imread("photo.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# ORB: Oriented FAST and Rotated BRIEF
# Fast, free to use, good for matching and tracking
orb = cv2.ORB_create(nfeatures=500)
# Detect keypoints and compute descriptors
keypoints, descriptors = orb.detectAndCompute(gray, None)
print(f"Detected {len(keypoints)} feature points")
print(f"Descriptor shape: {descriptors.shape}") # (n_keypoints, 32)
# Draw keypoints on the image
result = cv2.drawKeypoints(
image, keypoints, None,
color=(0, 255, 0),
flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS
)
cv2.imwrite("feature_points.jpg", result)
# Analyse keypoint properties
if keypoints:
strongest = max(keypoints, key=lambda kp: kp.response)
print(f"Strongest keypoint: position=({strongest.pt[0]:.1f}, {strongest.pt[1]:.1f})")
print(f" Size: {strongest.size:.1f}, Angle: {strongest.angle:.1f}°")Diagram
Loading diagram…
Machine Learning follows a structured pipeline from data to deployment