I just tried a GitHub repository for structure from motion using OpenCV including the following steps:
- Look for SIFT features from two images of a scene captured from different angles.
- Compute local matches and find the closest neighbors.
- Filter out bad neighbors by comparing distance.
- Draw remaining matches on the image and output it.
- Find inlier matches by calculating the essential matrix and mask with RANSAC.
- Find rotation and translation matrices of one image.
- Compute the 3D point cloud and plot the graph.