INTERAZIONE E MULTIMEDIA E LABORATORIO A - L

Academic Year 2019/2020 - 2° Year - Curriculum A and Curriculum B
Teaching Staff Credit Value: 9
Taught classes: 36 hours
Exercise: 24 hours
Laboratories: 12 hours
Term / Semester:

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.