INTERAZIONE E MULTIMEDIA E LABORATORIO M - Z
Academic Year 2019/2020 - 2° Year - Curriculum A and Curriculum B- INTERAZIONE E MULTIMEDIA: Dario ALLEGRA
- LABORATORIO: Lorenzo DI SILVESTRO
Taught classes: 36 hours
Exercise: 24 hours
Laboratories: 12 hours
Term / Semester: 1°
Learning Objectives
- INTERAZIONE E MULTIMEDIA
General learning objectives in terms of expected learning outcomes.
Knowledge and understanding: The purpose of the course is to acquire knowledge that will enable the student to understand the theoretical and physical mechanisms underlying the human visual system, the formation and processing of digital images, of the improvement of the visual quality of digital images. Ability to apply knowledge and understanding: the student will acquire the skills needed to acquire, edit, compress, and save a digital image.
Making judgments: Through examples in the classroom, the student will be put into the condition of understanding whether the solutions offered by him meet a certain degree of quality.
Communication skills: The student will acquire the necessary communication skills and technical language skills in the multimedia field.
Learning Skills: The aim of the course is to provide the student with the necessary theoretical and practical methodologies to deal with and solve new problems that arise during a work activity. To this end, several topics will be addressed in lesson by involving the student in the search for possible solutions to real problems. - LABORATORIO
General learning objectives in terms of expected learning outcomes.
Knowledge and understanding: The purpose of the laboratory course is to acquire knowledge that will enable the student to understand how to program interactive system. Additionally, it will be provided concepts about programming which enable the student to design solution where image processing is required.
Ability to apply knowledge and understanding: the student will study Processing, a software and Java-based programming language. It will be helpful for practice on theoretical concepts.
Making judgments: Through coding in the classroom, the student will be put into the condition of understanding whether the solutions offered by him meet a certain degree of quality.
Communication skills: The student will acquire the necessary communication skills and technical language skills in the multimedia field.
Learning Skills: The aim of the course is to provide the student with the necessary theoretical and practical methodologies to deal with and solve new problems that arise during a work activity. To this end, several topics will be addressed in lesson by involving the student in the search for possible solutions to real problems.
Course Structure
- INTERAZIONE E MULTIMEDIA
Classroom lessons
Laboratory lessons
- LABORATORIO
Classroom lessons
Laboratory lessons
Detailed Course Content
- INTERAZIONE E MULTIMEDIA
Introduction to digital images
Image formation in the human eye
Thin lens equation
Optical illusions
Digital sensors
The Bayer pattern
Color interpolation
Raster images and vector images
Representation of raster images
Campinamento
quantization
Aliasing
Digital Image Resolution
Interpolation replication, bilinear and bicubic
PSNR
Color
The RGB, CMY, HSV, Munsell, YUV, YCbCr
Indexed images and palettes
Reindexing
The histogram of an image
Punctual operations and LUTs
Bit-planes
Linear and invariant operators for translation
Noise reduction
Edge detection
Space domain
Frequency domain
Fourier transform
The convolution and convolution theorem
Lossy and lossless compression
Shannon's theorem for compression
Huffman Encoding
The Jpeg standard
- LABORATORIO
Programming in Processing
Starting with Processing
- Main methods and variables: settings(), setup(), draw() e frameRate, width, heigth, etc…;
- Main drawing methods: ellipse(), rect(), line(), bezier(), beginShape(), etc… and drawing modifiers ellipseMode(), rectMode(), ecc…
- type color and method color().
User interaction and mouse/keyboard events
- variables mousePressed, keyPressed, mouseButton, key, keycode;
- methods mousePressed(), keyPressed(), mouseReleased(), mouseClicked().
Affine transformation for drawing:
- Methods rotate(), shearX(), shearY(), translate(), applyMatrix() più pushMatrix() e popMatrix().
Classes and objects in Processing, inheritance and data structure.
Image processing, class PImage and methods
- methods of Processing: loadImage(), createImage(), copy(), red(), green(), blue(), saveFrame();
- methods and variables of PImage class: save(), get(), set(), loadPixels(), updatePixels(), pixels, etc…..
Implementation of image processing algorithms
- uniform and logarithmic quantization;
- replication interpolation and PSNR evaluation;
- point operations: negative, logarithm and power-law (gamma);
- histogram stretching and equalization;
- affine transformation for images: rotation, scaling, shear;
- rank filters: median, max and min;
- convolutional filters: sobel, prewitt, N box, etc…;
- bitplane representation;
Textbook Information
- INTERAZIONE E MULTIMEDIA
Digital Image Processing, (3rd Edition) Rafael C. Gonzalez, Richard E. Woods, Ediz. Pearson, Prentice Hall
- LABORATORIO
Official Processing Reference: https://processing.org/reference/
“Algorithms for Visual Design Using the Processing Language” - Kostas Terzidis - Wiley Publishing.
“Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction” - Daniel Shiffman - Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
“Getting Started with Processing” - Casey Reas and Ben Fry - Make Books, Sebastopol, CA.