https://github.com/tito/projectionmapping
Kivy widget for grid-based projection mapping
https://github.com/tito/projectionmapping
Last synced: about 1 year ago
JSON representation
Kivy widget for grid-based projection mapping
- Host: GitHub
- URL: https://github.com/tito/projectionmapping
- Owner: tito
- Created: 2019-04-04T08:59:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-04T13:31:38.000Z (over 7 years ago)
- Last Synced: 2025-04-23T13:44:15.771Z (over 1 year ago)
- Language: Python
- Size: 104 KB
- Stars: 11
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projection Mapping
Kivy widget that reproject its content according to a calibration grid.
It includes a calibration tool accessible from F2.

Projection to a curved wall:

## Usage
```python
from kivy.app import App
from projectionmapping import ProjectionMapping
from kivy.uix.image import Image
class SimpleProjectionMapping(App):
def build(self):
self.root = ProjectionMapping(filename="calibration.json")
self.root.add_widget(
Image(source="projectionmapping/data/mirefullhd.jpg"))
```
## Keybinding
- F2: Toggle calibration
- space: Toggle help
- r: Reset the calibration grid
- s: Save the current calibration
- l: Load latest calibration
- x/c: Remove/add a column (current calibration is lost)
- v/b: Remove/add a row (current calibration is lost)
## Resources
- http://www.reedbeta.com/blog/quadrilateral-interpolation-part-2/
- http://iquilezles.org/www/articles/ibilinear/ibilinear.htm