GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - bijection/sistine: Turn a MacBook into a Touchscreen with $1 of Hardware

BranchesTags
Open more actions menu

Latest commit

 

History

94 Commits
94 Commits

Folders and files

NameName
Last commit message
Last commit date
examples
examples
 
 
.gitignore
.gitignore
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
README_WINDOWS.MD
README_WINDOWS.MD
 
 
actually_good_calib.pickle
actually_good_calib.pickle
 
 
good_calib.pickle
good_calib.pickle
 
 
index.html
index.html
 
 
simulate.py
simulate.py
 
 
simulate_windows.py
simulate_windows.py
 
 
sistine.jpg
sistine.jpg
 
 
sistine.py
sistine.py
 
 
sistine_windows.py
sistine_windows.py
 
 
splash.png
splash.png
 
 
submission.md
submission.md
 
 

Repository files navigation

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.

About

Turn a MacBook into a Touchscreen with $1 of Hardware

www.anishathalye.com/2018/04/03/macbook-touchscreen/

Topics

opencvsistinetouchscreen

Resources

Readme
MIT license
Activity

Stars

3.4k stars

Watchers

73 watching

Forks

199 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.