Entry 2:Point Selection & Correspondence Matching

🎯 Reproducible Interest Point Selection

Next, I proceed to select a fixed number of interest points from the edges of the left image, in a reproducible way. The goal is to run initial tests using isolated points and start building up the full solution.

To achieve this, I select N random points among the extracted edge points using a fixed random seed (random.seed(42)). This way, I can debug and iterate easily since the input points remain the same in each execution. The following image shows the 5 selected points (N = 5).

Selected reproducible points (N=5)

🖼️ Matching with the Right Camera

In order to move on to triangulation, I first need to find the corresponding point in the right image that best matches the reference point in the left image.

To begin, I assume that the stereo cameras are horizontally aligned. This means that the corresponding point in the right image should lie on the same row as the one in the left image. This assumption greatly reduces the search space during the matching process.

The approach I used is:

Since ShowImageMatching wasn’t working properly, I created my own function to visualize the matched pairs for debugging and validation.

Matched points shown on stereo pair

📌 Summary So Far

In Entry 1, I set up the stereo image capture pipeline and performed initial edge detection using Canny. In Entry 2, I implemented reproducible point selection and a basic patch-matching strategy to find correspondences between stereo images.

The following steps will involve:

⬅ Back to Exercise 2