Skip to content

Commit

Permalink
fix: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
mholovko committed Oct 2, 2024
1 parent d332b08 commit 7cc7582
Showing 1 changed file with 17 additions and 25 deletions.
42 changes: 17 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,33 @@
# image-matcher
# Image-Matcher

Add-on for Blender that allows matching multiple 2D images to a corresponding 3D model. This uses OpenCV's Perspective-n-Point solver to estimate camera intrinsics (e.g. focal length, distortion coefficients) and extrinsics (camera position and orientation) based on pairs of 2D and 3D points.
## A Blender Add-on for 2D-3D Image Matching and Camera Pose Estimation

This add-on builds on RT Studio's Camera Pnpoint Blender plugin:
Image-Matcher is a Blender add-on that allows matching multiple 2D images to a corresponding 3D model. This tool uses OpenCV's Perspective-n-Point solver to estimate camera intrinsics (e.g., focal length, distortion coefficients) and extrinsics (camera position and orientation) based on pairs of 2D and 3D points.

This project is a fork of [K-Meech's image-matcher](https://github.com/K-Meech/image-matcher), with improvements made by the Center for Spatial Technologies (CST) team. We extend our sincere gratitude to the original developers and contributors for their excellent work.

Originally builds on RT Studio's Camera Pnpoint Blender plugin:
https://rtstudios.gumroad.com/l/camera_pnpoint / https://github.com/RT-studios/camera-pnpoint
Do consider buying their addon on gumroad/blender market to help support them making great Blender addons!

This plugin adds:
- Easier matching of multiple 2D images
- Point mode to allow one click addition of 2D/3D points
- UI to visualise list of points for each image
- Easier adjustment of camera parameters / background image directly in the plugin UI
- Export of camera parameters to JSON
## Key Features and Improvements

For more information on the Perspective-n-Point process, see OpenCV's documentation: https://docs.opencv.org/4.x/d5/d1f/calib3d_solvePnP.html
Our fork builds upon the original plugin with several enhancements:

1. **Enhanced Animation Support**: Improved functionality for creating smooth camera animations between matched positions.
2. **Frame-by-Frame Solving**: Added capability to solve camera pose for each frame in a sequence.
3. **Keyframe Management**: New features to update camera poses for existing keyframes.

## Installation + Tutorials

- There's a full video tutorial of installation + image matching on youtube: https://www.youtube.com/watch?v=3gHtWkfxcvo
- For installation instructions, see: [Installation](./docs/installation.md)
- For a step by step tutorial of image matching, see: [Image matching tutorial](./docs/image-matching.md)
- For a tutorial of making a video moving between each matched position, see: [Video tutorial](./docs/video.md). Note: this tutorial is advanced, and assumes prior Blender experience!

## Examples

You can see an example video moving between matched positions here: https://www.youtube.com/watch?v=zqXh3yGqvkA This uses publicly available data of the Ramesses II statue from the British Museum (data from [Sketchfab](https://sketchfab.com/3d-models/ramesses-ii-c98e1cab68134f4283f0448966f0835b) and [Collection Online](https://www.britishmuseum.org/collection/object/Y_EA19))
## Contributing

![Example match on Ramesses II statue](./docs/images/example-match.jpg)
## Releases
We welcome contributions to further improve this tool. Please submit issues or pull requests through GitHub.

Github Actions runs on this repository to automatically create releases when a
commit is pushed to main with a version tag like v1.0.0. This will automatically
create a zip file with only the required python files for installation in Blender.
---

To trigger this:
```
# Add a tag to last commit (on main)
git tag v1.0.0
git push origin --tags
```
For more information on the Perspective-n-Point process, see [OpenCV's documentation](https://docs.opencv.org/4.x/d5/d1f/calib3d_solvePnP.html).

0 comments on commit 7cc7582

Please sign in to comment.