StructureFromMotion
Implementing camera calibration and structure from motion (SfM) methods to produce a scene reconstruction.
Install / Use
/learn @tancredeguillou/StructureFromMotionREADME
Overview
Implementing camera calibration and structure from motion (SfM) methods to produce a reconstruction of a scene. Using the Direct Linear Transform (DLT) method to compute the scene geometry from correspondences.
Setup
We recommend to use a virtual environment to avoid cluttering your Python installation. To set this up using the Python venv module on Linux just use
cd code
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
In case you want to use a different setup, just install the dependencies in requirements.txt manually.
Data
The data folder contains all the data used for this project and is structured the following way:
`--data
`--calibration
|--image_size.txt
|--points2d.txt
|--points3d.txt
`--images
`--keypoints
`--matches
Calibration
The files contain informations about the 3D points of a scene and the 2D points of the scene seen from the camera. image_size only has two values for width and height of the image.
Structure from motion
images: The different pictures taken from a moving camera. There are ten pictures with name 0000.png to 0009.png.
keypoints: All positions of the keypoints for each image. Each row of a file is a tuple which gives the position of the keypoint on the image:
`--keypoints
|--0000.png.txt
|-- ...
|--0009.png.txt
matches: The matches between keypoints for a pair of images. For each pair (000i.png, 000j.png), 000i.png-000j.png.txt contains the list of all keypoints and their corresponding index in the keypoints file of the images. For each keypoint, 000i.png-000j.png.txt gives a pair (idx_i, idx_j) where idx_i is the index of the keypoint in 000i.png.txt and idx_j is the index of the keypoint in 000j.png.txt.
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
