The world- pixel by pixel Spring 2009
danny.rozin@nyu.edu
Jan 21 Class 1 - Introduction
- Introduction to class syllabus and students, presentation of thoughts regarding pixels, describing “Make Pixels” assignment. (make an image using non traditional “pixels”, preferably physical or “analog” try to avoid using the computer)
Jan 28 Class 2 - From Scratch 1
- Students presenting the “Make Pixels” assignment
- Covering - Creating 2D geometry in C - Introduction to C, XCode, OpenFrameworks.
- C bare essentials
- Get Setup
- Get Help
- go to Jeremy's workshop on setting up OpenFrameworks on Monday Feb 2nd 2:30 - 4:30
- if necessary get individual help from Jeremy, Danny
- Start learning C++
- Start learning OpenFrameworks
- get familiar with OpenFrameworks syntax
- Specifically usefull:
- OF structure and events - setup(), update(), draw(), keyPressed(), mouseDragged(), mousePressed()
- OF app environment - ofSetFrameRate(), ofGetWidth(), ofGetHeight
- OF Graphics - ofSetBackgroundAuto(), ofRect(), ofTriangle(), ofCircle(), ofEllipse(), ofLine(), ofCurve(), ofNoFill(), ofFill(), ofSetColor()
- OF graphical environment - ofBackground(), ofEnableSmoothing(), ofSetVerticalSync()
- misc - ofRandom(), ofGetFrameNum(),
- OpenFrameworks WIKI
- OpenFrameworks forum
- a few examples, unzip these into your OF folder -> apps -> examples . If you are not using XCode on Mac then just copy the 3 files from the src folder to the src folder in your OF folder (you probably will want to make a copy of the _emptyExample folder and use that)
- Suggested exercise - Using black and white shapes, try to create rich gradations from dark to light. Create at least one static image, one dynamic animation that changes without interaction and one interactive piece that lets the viewer control the experience.
Feb 4 Class 3 - From Scratch 2 - Pixels
- Covering - using color pixels in C - Introduction to the way pixels are stored and manipulated in C.
- Some relevant OF functions -
- Code Examples:
- Suggested exercise - Create a painting app, something that applies colors or paint as the user moves the mouse .
Feb 11 Class 4 -Image processing 1 - color manipulation
- Covering - Introduction to the discipline of image color correction and manipulation, change pixels colors to enhance brightness, saturation, contrast and creating effects such as inverting and posterizing (also covering opening image files, movie files and live camera)
- Explaining pointers in C++
- Code Examples:
- Suggested exercise - Create interesting manipulations of images by changing their colors without moving pixels around. as always try to create static, dynamic and interactive pieces.
Feb 18 Class 5 – Visit to NY Hall of Science to view their display of optics and optical illusion.
- Directions to the museum
- Meet at the entrance at 9:45
- Introduction to assignment No. 2 – Each student will then select an optical phenomenon or display from the museum (or any other optical phenomenon) and create an interactive experience on the computer screen that is based on it. (assignment to be presented in three weeks)
Feb 25 Class 6 -Image processing 2 - neighborhood effects
- Covering - Changing the colors of pixels based on their neighbor pixels - Creating effects such as blur, sharpen, find edges and convolutions.
- Code Examples:
- Suggested exercise - Create interesting manipulations of images by applying neighborhood effects. as always try to create static, dynamic and interactive pieces.
Mar 4 Class 7 –Mid term 1 - Presentation of science/optics assignment.
Mar 11 Class 8 - Image processing 3 - image transformation
- Covering - Using geometric transformations to displace pixels without changing their color, creating effects such as scale, magnifying glass, rotate,displace.
- Introduction to third assignment – A few painting styles used by various artists will be shown in class. Each student will select one such style and create an interactive on-screen experience based on it. (assignment to be presented in 2 weeks)
- Suggested exercise - Create interesting transformations of images, as always try to create dynamic and interactive pieces.
Mar 25 Class 9 - Image compositing
- Covering - Tools and concepts in compositing multiple images including blends, collaging.
- Code Examples:
Apr 1 Class 10 – Mid-term 2 -Painting style project presentations.
Apr 8 Class 11 - Video 1 – video tracking
- Covering - Using dynamic visual data to extract information - getting pixel data from video in C, tracking brightness, color, change, pattern.
- Code Examples:
- Suggested exercise - use camera to track something and create dynamic image accordingly
Apr 15 Class 12 - Video 2 – video manipulation and masking
- Covering - Using techniques to manipulate live video, including masking, chrome keying, background removal
- Code Examples:
Apr 22 Class 13 - final project workshop
- A few helpful things:
- Requests:
April 29 Class 14 - final project presentations
Books on C :
- The C Programming language , Kernighan , Ritchie, Prentice Hall . (The bible of C by the people who invented C , sometimes says more than you want to know) NYU computer store has it
- The essentials of C programming language REA Research & education association (Great quick reference when checking syntax) NYU computer store has it
- nice C++ tutorial
- C++ in 5 days (pdf)
Books on image processing :
- Pocket Handbook of Image Processing Algorithms In C, The, 1/e, Harley R. Myler, Arthur R. Weeks ISBN: 0-13-642240-3 (Amazing book that gives you the exact code you need for lots of effects)
- Digital image processing : a practical primer by Gregory A. Baxes (a good overall explanation of image processing, but it does not give you the code to do it)
|