spyrit.misc.dual_arm.KeyPoints

class spyrit.misc.dual_arm.KeyPoints(src_img: ndarray, dest_img: ndarray, homo_folder: str = '')[source]

Bases: Module

Detects and manages keypoints between two camera views.

This class provides multiple methods for keypoint detection and matching between a source image (CMOS camera) and a destination image (Single-Pixel Camera). It supports both automatic detection methods (SIFT) and manual placement.

Detected keypoints are essential for computing the homography matrix that relates the two camera coordinate systems (see ComputeHomography).

Args:

src_img Source image array from CMOS camera dest_img Destination image array from Single-Pixel Camera homo_folder (optional) Folder where keypoint data and homography matrices are stored

Methods

external_keypoints()

Load keypoints from external files.

find_shi_tomasi_keypoints([max_corners, ...])

Find corners using Shi-Tomasi corner detector.

find_sift_keypoints()

Find matching keypoints using SIFT feature detection.

forward(kp_method[, read_hand_kp])

Main method to find keypoints using specified method.

place_hand_keypoints([win_up_factor])

Manually place keypoints on both images using mouse interaction.