All Projects → bijection → Sistine

bijection / Sistine

Licence: other
Turn a MacBook into a Touchscreen with $1 of Hardware

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Sistine

Sorting visualization
The Sound of Sorting: Visualize and Audibilize 12 classic sorting algorithms in real time
Stars: ✭ 260 (-91.8%)
Mutual labels:  opencv
Evision
计算机视觉实践和探索/Practice and explorations in computer vision.
Stars: ✭ 268 (-91.54%)
Mutual labels:  opencv
Gcc termux
Gcc for termux with fortran scipy etc... Use apt for newest updates instructions in README.txt
Stars: ✭ 276 (-91.29%)
Mutual labels:  opencv
Opencv Python Blueprints
M. Beyeler (2015). OpenCV with Python Blueprints: Design and develop advanced computer vision projects using OpenCV with Python, Packt Publishing Ltd., ISBN 978-178528269-0.
Stars: ✭ 262 (-91.73%)
Mutual labels:  opencv
Dynamicfusion
Implementation of Newcombe et al. CVPR 2015 DynamicFusion paper
Stars: ✭ 267 (-91.57%)
Mutual labels:  opencv
Qbr
A webcam-based 3x3x3 rubik's cube solver written in Python 3 and OpenCV.
Stars: ✭ 122 (-96.15%)
Mutual labels:  opencv
Ai Job Notes
AI算法岗求职攻略(涵盖准备攻略、刷题指南、内推和AI公司清单等资料)
Stars: ✭ 3,191 (+0.69%)
Mutual labels:  opencv
Docker Python3 Opencv
🐋 🐍 👁 Docker image with python 3 and opencv 4.1
Stars: ✭ 283 (-91.07%)
Mutual labels:  opencv
Androiddocumentscanner
This library helps to scan a document like CamScanner.
Stars: ✭ 264 (-91.67%)
Mutual labels:  opencv
Superpixel Benchmark
An extensive evaluation and comparison of 28 state-of-the-art superpixel algorithms on 5 datasets.
Stars: ✭ 275 (-91.32%)
Mutual labels:  opencv
Opencv Android
Easy way to integrate OpenCv into your Android project via Gradle
Stars: ✭ 264 (-91.67%)
Mutual labels:  opencv
Object Detection Opencv
YOLO Object detection with OpenCV and Python.
Stars: ✭ 267 (-91.57%)
Mutual labels:  opencv
Trace.moe
Anime Scene Search by Image
Stars: ✭ 3,231 (+1.96%)
Mutual labels:  opencv
Opencv Python Series
An OpenCV & Python Tutorial Series and Reference.
Stars: ✭ 262 (-91.73%)
Mutual labels:  opencv
Opencv Androidsamples
OpenCv samples for Android from OpenCV SDK using Android Studio and Gradle System
Stars: ✭ 278 (-91.23%)
Mutual labels:  opencv
Realtime object detection
Plug and Play Real-Time Object Detection App with Tensorflow and OpenCV. No Bugs No Worries. Enjoy!
Stars: ✭ 260 (-91.8%)
Mutual labels:  opencv
Orb Slam2 Gpu2016 Final
Stars: ✭ 272 (-91.42%)
Mutual labels:  opencv
Powerai Counting Cars
Run a Jupyter Notebook to detect, track, and count cars in a video using Maximo Visual Insights (formerly PowerAI Vision) and OpenCV
Stars: ✭ 282 (-91.1%)
Mutual labels:  opencv
Harvesters
🌈 Friendly Image Acquisition Library for Computer Vision People
Stars: ✭ 274 (-91.35%)
Mutual labels:  opencv
Ffdynamic
Library with dynamic audio/video composition and runtime control
Stars: ✭ 274 (-91.35%)
Mutual labels:  opencv

Project Sistine

Sistine * 3/2

We turned a MacBook into a touchscreen using only $1 of hardware and a little bit of computer vision. The proof-of-concept, dubbed “Project Sistine” after our recreation of the famous painting in the Sistine Chapel, was prototyped by Anish Athalye, Kevin Kwok, Guillermo Webster, and Logan Engstrom in about 16 hours.

Basic Principle

The basic principle behind Sistine is simple. Surfaces viewed from an angle tend to look shiny, and you can tell if a finger is touching the surface by checking if it’s touching its own reflection.

Hover versus touch

Kevin, back in middle school, noticed this phenomenon and built ShinyTouch, utilizing an external webcam to build a touch input system requiring virtually no setup. We wanted to see if we could miniaturize the idea and make it work without an external webcam. Our idea was to retrofit a small mirror in front of a MacBook’s built-in webcam, so that the webcam would be looking down at the computer screen at a sharp angle. The camera would be able to see fingers hovering over or touching the screen, and we’d be able to translate the video feed into touch events using computer vision.

(Read the rest of our blog post, including a video demo and a high-level explanation of the algorithm, here)

Installation (with Homebrew Python)

  • First, make sure you have Mac Homebrew installed on your computer. If not, you can install it by running /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • Install Python 2 via Homebrew with brew install python2

  • Install OpenCV 3 via Homebrew with brew install opencv3

  • Install PyObjC via Pip with pip2 install pyobjc

Running

Run python2 sistine.py

License

Copyright (c) 2016-2018 Anish Athalye, Kevin Kwok, Guillermo Webster, and Logan Engstrom. Released under the MIT License. See LICENSE.md for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].