Βασική επεξεργασία εικόνας

Affiliation: Department of Electrical and Computer Engineering, University of Thessaly
Resolution: Group | Duration: More than four hours

Overview


Goals

Στόχοι της εργασίας είναι: 1. διάβασμα και εκτύπωση εικόνας 2. βασικοί μετασχηματισμοί (διπλασιασμός, υποδυπλασιασμός, αναστροφή) εικόνας 3. μετατροπή εικόνας σε ασπρόμαυρη 4. εξισορρόπηση ιστογράμματος 5. υλοποίηση αλγορίθμου photo stacking

Learning Objectives

Με την ολοκλήρωση της εργασίας, οι φοιτητές θα έχουν εξοικειωθεί με τη γλώσσα προγραμματισμού JAVA και θα έχουν κατανοήσει βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού, και ειδικά της JAVA. Το μάθημα εστιάζει σε βασικές και εξειδικευμένες έννοιες και δομές σχετικές με γλώσσες προγραμματισμού που υποστηρίζουν την αντικειμενοστρέφεια με χρήση των γλωσσών JAVA και C++. Οι φοιτητές μετά από αυτό μάθημα θα: Έχουν εκτεθεί επαρκώς στο αντικειμενοστραφές προγραμματιστικό υπόδειγμα. Έχουν κατανοήσει σε βάθος και έχουν προγραμματίσει στις γλώσσες JAVA και C++. Κατανοούν τις ομοιότητες αλλά και τις διαφορές στο προγραμματιστικό υπόδειγμα μεταξύ JAVA και C++. Επιπλέον, για την γλώσσα JAVA, Κατανοούν τη διασύνδεση με το χρήστη μέσω του JAVA Swing Γνωρίζουν την βασική δικτύωση και στοιχεία πολυνηματικού προγραμματισμού. Επιπλέον, για τη γλώσσα C++, Κατανοούν την έννοια και χειρίζονται με ευχέρεια την υπερφόρτωση τελεστών

Context

Τα περιεχόμενα του μαθήματος είναι τα εξής: Για τη γλώσσα JAVA: Κλάσεις, κατασκευαστές, υπερφόρτωση μεθόδων, static/final methods/variables Πακέτα, περιοριστές πρόσβασης. Κληρονομικότητα και πολυμορφισμός, Abstract/final classes, method overriding Διεπαφές (Interfaces) Εξαιρέσεις File I/O (binary Ι/Ο και Stream I/O). Εμφωλευμένες κλάσεις (ανώνυμες, τοπικές, στατικές) Generics & Java Collections Framework Δικτύωση (URL, URLConnection, sockets) Regular Expressions Swing (Buttons, events, listeners, containers, layout managers, menus, text fields, graphics class, colors, fonts, etc) Για τη γλώσσα C++: Πίνακες, δείκτες, αναφορές, αλφαριθμητικά. Δυναμική διαχείριση μνήμης. Κλάσεις και Δημιουργία Αντικειμένων: κατασκευαστές και καταστροφείς, δημιουργία αντικειμένων και κύκλος ζωής των αντικειμένων, φιλικές μέθοδοι, const μέθοδοι, δείκτης this). Namespaces, περιοριστές πρόσβασης. Κληρονομικότητα, δυναμικός πολυμορφισμός, abstract κλάσεις, πολλαπλή κληρονομικότητα. Υπερφόρτωση τελεστών. Εξαιρέσεις. Streams, Αρχεία Templates, Standard Template Library