Επεξεργασία Πολυµέσων. Δρ. Μαρία Κοζύρη Π.Μ.Σ. «Εφαρµοσµένη Πληροφορική» Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Θεσσαλίας

Σχετικά έγγραφα
Έγχρωµο και Ασπρόµαυρο Φως

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση 12 η. Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βιβλιογραφία. Πόσες λέξεις αξίζει µια εικόνα; Εικόνα

Εφαρμογές Πληροφορικής

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 11 η : θεωρία Χρώματος & Επεξεργασία Έγχρωμων Εικόνων

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακή Εικόνα. Αντίληψη χρωμάτων Συστήματα χρωμάτων Κβαντισμός χρωμάτων

Αντοχή (ruggedness) στο θόρυβο μετάδοσης Αποτελεσματική αναγέννηση (regeneration) Δυνατότητα ομοιόμορφου σχήματος (uniform format) μετάδοσης Όμως:

Συστήματα Πολυμέσων. Ενότητα 4: Θεωρία Χρώματος. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Ψηφιακή Επεξεργασία Εικόνας

ΠΛΗΡΟΦΟΡΙΚΗ I. 7 η ΔΙΑΛΕΞΗ Γραφικά με Υπολογιστή

ΒΕΣ 04: Συμπίεση και Μετάδοση Πολυμέσων. Βίντεο (Video)

Α.Τ.Ε.Ι. Ηρακλείου Ψηφιακή Επεξεργασία Εικόνας ιδάσκων: Βασίλειος Γαργανουράκης. Ανθρώπινη Όραση - Χρωµατικά Μοντέλα

Εισαγωγή Ασπρόμαυρο Halftoning γάμμα Φως/Χρώμα Χρωματικά Μοντέλα Άλλα. 6ο Μάθημα Χρώμα. Γραφικα. Ευάγγελος Σπύρου

ΒΕΣ 04: Συµπίεση και Μετάδοση Πολυµέσων. Βίντεο (Video) Περιεχόµενα. Βιβλιογραφία. Καγιάφας [2000]: Κεφάλαιο 5, [link]

Επεξεργασία Χαρτογραφικής Εικόνας

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Συστήµατα και Αλγόριθµοι Πολυµέσων

Εισαγωγή σε οπτική και μικροσκοπία

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Η χρήση του χρώµατος στη χαρτογραφία και στα ΣΓΠ

ΑΣΚΗΣΗ 2 ΒΑΣΙΚΑ ΚΑΙ ΣΥΝΘΕΤΑ ΣΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ - ΕΙΚΟΝΑΣ

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βίντεο (Video) Εισαγωγή. Βιβλιογραφία. Καγιάφας [2000]: Κεφάλαιο 5, [link]

Βίντεο και κινούµενα σχέδια

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακή Εικόνα. Χωρική ανάλυση Αρχεία εικόνων

Έγχρωμο και ασπρόμαυρο φως

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βιβλιογραφία. Εισαγωγή. Συµπίεση εικόνων: Το πρότυπο JPEG. Εισαγωγή. Ευθύς µετασχηµατισµός DCT

2013 Σ. Φωτόπουλος ΨΕΕ Κεφ.1 ΕΙΣΑΓΩΓΙΚΑ ΕΙΚΟΝΑ- ΧΡΩΜΑ ΔΠΜΣ ΗΕΠ 1/63

Συµπίεση Εικόνας: Το πρότυπο JPEG

Ηχρήση του χρώµατος στους χάρτες

Επεξεργασία Χαρτογραφικής Εικόνας

Χρώµατα! τεχνολογία Οι Card χρωµατικοί splitter v3 χώροι και η τηλεόραση. Οι χρωµατικοί χώροι και η τηλεόραση

ΒΕΣ 04: Συµπίεση και Μετάδοση Πολυµέσων. Περιεχόµενα. Βιβλιογραφία. Συµπίεση εικόνων: Το πρότυπο JPEG. Εισαγωγή. Ευθύς µετασχηµατισµός DCT

ΑΡΧΕΣ ΤΗΛΕΠΙΣΚΟΠΗΣΗΣ (Y2204) Βασιλάκης Εµµανουήλ Λέκτορας Τηλεανίχνευσης

Συστήματα Πολυμέσων. Ενότητα 16: Διαμορφώσεις και Πρότυπα Ψηφιακού Βίντεο. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ,

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΦΩΤΟΡΕΑΛΙΣΜΟΣ & ΚΙΝΗΣΗ (ΘΕΩΡΙΑ)

Συστήματα Πολυμέσων. Ενότητα 15: Συμπίεση Ψηφιακού Βίντεο. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

ΑΡΧΕΣ ΤΗΛΕΠΙΣΚΟΠΗΣΗΣ (Y2204) Βασιλάκης Εμμανουήλ Επίκ. Καθηγητής Τηλεανίχνευσης

Συστήµατα Πολυµέσων Ενδιάµεση Εξέταση: Οκτώβριος 2004

Επεξεργασία Πολυµέσων. Δρ. Μαρία Κοζύρη Π.Μ.Σ. «Εφαρµοσµένη Πληροφορική» Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Θεσσαλίας

Αντίληψη Χρωµατικός κύκλος Χρωµατικά συστήµατα Ρυθµίσεις Ψυχολογία. design branding printing

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Γραφικά Ι Ενότητα 6: Το χρώμα στα γραφικά και την Οπτικοποίηση. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

ΕΡΩΤΗΣΕΙΣ ΣΤΗ ΘΕΩΡΙΑ ΧΡΩΜΑΤΩΝ

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Χωροταξίας Πολεοδομίας και Περιφερειακής Ανάπτυξης

2.0 ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ-ΟΡΟΛΟΓΙΕΣ

Ψηφιακό Βίντεο. ΕΣ 200: ημιουργία Περιεχομένου ΙΙ. Περιεχόμενα - Βιβλιογραφία. Περιεχόμενα. Βιβλιογραφία. Βασικές έννοιες

Πρόλογος Κεφάλαιο 1 Πολυμέσα & Υπερμέσα...13

Τηλεπικοινωνιακά Συστήματα ΙΙ

17TimeThis.h function returns reference pointer to same object { return *this; }

HY150a Φροντιστήριο 3 24/11/2017

Φροντιςτήριο. Linked-List

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Κωδικοποίηση εικόνας

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Εισαγωγή

ΒΑΣΙΚΑ ΘΕΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μετάδοση πληροφορίας - Διαμόρφωση

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 1

Επεξεργασία Πολυµέσων. Δρ. Μαρία Κοζύρη Π.Μ.Σ. «Εφαρµοσµένη Πληροφορική» Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Θεσσαλίας

θεωρία χρώματος & χρωματικά μοντέλα 11/4/2016 Λήδα Στάμου Χαρτογραφία Ι 1

Σεραφείµ Καραµπογιάς ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ

DIP_01 Εισαγωγή στην ψηφιακή εικόνα. ΤΕΙ Κρήτης

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1

Τεχνολογία Πολυμέσων. Ενότητα 9: Αναλογικό Βίντεο. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τηλεπισκόπηση - Φωτοερμηνεία Ενότητα 11: Είδη Ταξινομήσεων Επιβλεπόμενες Ταξινομήσεις Ακρίβειες.

Δομικά στοιχεία πολυμέσων: Κείμενο Εικόνα Ήχος Κίνηση Βίντεο

Ηθεωρίατωνχρωµάτωνκαιη διαδροµήτουµέχρισήµερα. Ευαγγελία Παντελέλη

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Ανοίξτε την εικόνα Hel_MDSGEO και δημιουργήστε δύο έγχρωμα σύνθετα ένα σε πραγματικό χρώμα (True color) και ένα σε ψευδοέχρωμο υπέρυθρο (CIR)

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μετάδοση πληροφορίας - Διαμόρφωση

Ψηφιακή Επεξεργασία Σημάτων

Γνωστική Ψυχολογία Ι (ΨΧ32)

ΒΕΣ 04: Συµπίεση και Μετάδοση Πολυµέσων. Περιεχόµενα. Βιβλιογραφία. Εικόνες και Πολυµεσικές Εφαρµογές. Ψηφιακή Επεξεργασία Εικόνας.

Group (JPEG) το 1992.

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη.

ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στα Σήµατα Εισαγωγή στα Συστήµατα Ανάπτυγµα - Μετασχηµατισµός Fourier Μετασχηµατισµός Z

Τεχνολογία Πολυμέσων. Ενότητα # 4: Ήχος Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή ΘΕΜΑΤΙΚΗ : ΤΗΛΕΠΙΣΚΟΠΗΣΗ

5. Η ΕΙΚΟΝΑ ΣΤΑ ΠΟΛΥΜΕΣΑ

Τι συσχετίζεται με τον ήχο

Συστήματα Πολυμέσων. Ενότητα 11: Χαρακτηριστικά Ψηφιακού Ήχου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Συστήματα Πολυμέσων. Ενότητα 5: Χαρακτηριστικά Ψηφιακής Εικόνας. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

i M-1 1. ij f(i, j) N-1. (pixel) 2. M N (x, y) (x, y ) = 256. R(x, y), G(x, y), B(x, y)

Επεξεργασία Έγχρωµων Εικόνων

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

Κεφάλαιο 11 Πολυμέσα. Εφ. Πληροφορικής Κεφ. 11 Καραμαούνας Π. 1

Κεφάλαιο 11 Πολυμέσα

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1

ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο

Digital Image Processing

Pixinsight 1.8 Ripley οδηγός επεξεργασίας

Δx

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 18

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής

Transcript:

Επεξεργασία Πολυµέσων Δρ. Μαρία Κοζύρη Π.Μ.Σ. «Εφαρµοσµένη Πληροφορική» Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Θεσσαλίας

Ενότητα 2: Θεωρία Χρώµατος & Αναπαραστάσεις και Πρότυπα Πολυµέσων Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 2

Θεωρία Χρώµατος Χρώµα = φως Ορατό Φως : Μικρό τµήµα του (ευρύτερου) φάσµατος της ηλεκτροµαγνητική ακτινοβολίας. Όλα τα σώµατα εκπέµπουν ηλεκτροµαγνητική ενέργεια. Μεταδίδεται µε τη µορφή ηλεκτροµαγνητικών κυµάτων. Ορατό φώς: 400 700 nm µήκος κύµατος Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 3

Εικόνα από την ιστοσελίδα: https://science-edu.larc.nasa.gov/eddocs/wavelengths_for_colors.html Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων

Το Ανθρώπινο Μάτι Δυο ειδών Φωτοϋποδοχείς: Ραβδία (περισσότερα, ευαίσθητα στην αλλαγή φωτεινότητας) Κωνία (λιγότερα, υπεύθυνα για την αντίληψη του χρώµατος) Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 5

Χρωµατικοί Χώροι Για την αντίληψη των χρωµάτων είναι απαραίτητοι 3 τύποι υποδοχέων (κωνία στο ανθρώπινο µάτι) Χρωµατικός Χώρος: µοντέλο στο οποίο τα χρώµατα αναπαρίστανται µε όρους σταθερών τιµών έντασης. Χρωµατικός Χώρος LMS: Απευθείας αναπαράσταση των αποκρίσεων των κωνιών του µατιού. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 6

Χρωµατικοί Χώροι Συνήθως χρησιµοποιούνται τρισδιάστατοι χρωµατικοί χώροι. Τρισδιάστατο σύστηµα συντεταγµένων. Χρωµατική Γκάµα (color gamut): Η περιοχή που περικλείεται από τον χρωµατικό χώρο και η οποία µας δίνει όλα τα πιθανά χρώµατα που µπορεί να αναπαραστήσει ο συγκεκριµένος Χ.Χ. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 7

Χρωµατικός Χώρος CIE XYZ Φωτεινότητα: το ανθρώπινο µάτι τείνει να αντιλαµβάνεται το φως στα πράσινα κοµµάτια του φάσµατος ως πιο έντονο, από ότι στα µπλέ και στα κόκκινα. Η συνάρτηση φωτεινότητας είναι περίπου ανάλογη µε τη φασµατική ευαισθησία των M κωνίων. Y : Φωτεινότητα. Ζ : Περιπού αντίστοιχο µε την απόκριση των S κωνίων. X : Γραµµικός συνδυασµός των αποκρίσεων των κωνίων (µη αρνητικός) Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 8

Χρωµατικός Χώρος CIE XYZ Το επίπεδο XΖ µας δίνει όλα τα δυνατά χρώµατα για µια συγκεκριµένη φωτεινότητα Υ Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 9

Χρωµατικός Χώρος RGB Γραµµικός (προσθετικός) χρωµατικός χώρος. Τα τρια µήκη κύµατος προστίθενται για να δώσουν το επιθυµητό χρώµα. Τα χρώµατα που προκύπτουν αναπαρίστανται ως ένας (µοναδιαίος) κύβος µε τις ακµές του να αναπαριστούν τα βάρη R, G και B. Η διαγώνιος συνδέει το µαύρο χρώµα (0,0,0) µε το λευκό (1,1,1) και αποτελεί όλες τις αποχρώσεις του γκρι. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 10

Χρωµατικός Χώρος RGB Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 11

Χρωµατικός Χώρος CMY (or CMYK) Γραµµικός (αφαιρετικός) χρωµατικός χώρος. C (cyan), M (magenta), Y(yellow): συµπληρωµατικά των R, G, B αντίστοιχα. CMYK : το µαύρο χρώµα (Κ) θεωρείται µέρος του χώρου. Χρησιµοποιείται κυρίως στην εκτύπωση. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 12

Χρωµατικός Χώρος YUV Υ : φωτεινότητα. U, V : χρώµα. Οι τιµές των R, G, B αφού πολλαπλασιαστούν µε κάποια βάρη, προστίθενται για να δώσουν το Y. Τα U καιv υπολογίζονται ως scaled διαφορές µεταξύ του Y και των τιµών των B και R. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 13

Υποδειγµατοληψία YUV The subsampling scheme is commonly expressed as a three part ratio J:a:b (e.g. 4:2:2) or four parts if alpha channel is present (e.g. 4:2:2:4), that describe the number of luminance and chrominance samples in a conceptual region that is J pixels wide, and 2 pixels high. The parts are (in their respective order): J: horizontal sampling reference (width of the conceptual region). Usually, 4. a: number of chrominance samples (Cr, Cb) in the first row of J pixels. b: number of changes of chrominance samples (Cr, Cb) between first and second row of J pixels. Alpha: horizontal factor (relative to first digit). May be omitted if alpha component is not present, and is equal to J when present. Πηγή: Wikipedia (https://en.wikipedia.org/wiki/chroma_subsampling) Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 14

Αναπαραστάσεις Πολυµέσων Ψηφιακή Αναπαράσταση Εικόνας Στοιχεία Ψηφ. Εικόνας: Pixels Ορίζεται από: Πλάτος, Ύψος, Βάθος των Pixel. Pixel Depth: Πλήθος bit που χρησιµοποιούνται για την αναπαράσταση ενός pixel. RGB ή RGBA Channel A: Ποσοτικοποιεί το πόσο διαφανές είναι το pixel. Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 15

Αναπαραστάσεις Πολυµέσων Ψηφιακή Αναπαράσταση Video Video αναλογικό ή ψηφιακό: ακολουθία διακριτών εικόνων. Κάθε εικόνα ονοµάζεται frame. Έχει τις ιδιότητες των ψηφιακών εικόνων. Επιπλέον: frame rate, scanning format Scanning format: progressive, interlaced Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 16

Αναπαραστάσεις Πολυµέσων Ψηφιακή Αναπαράσταση Ήχου Αναλογικός Ήχος: κυµατοµορφές (ηµιτονοειδής), απλές ή σύνθετες. Μετατροπή σε ψηφιακό: PCM pulse code modulation Το αναλογικό σήµα δειγµατοληπτείται σε ισαπέχουσες χρονικές στιγµές, δίνοντας δείγµατα ήχου. Το πλάτος κάθε δείγµατος κωδικοποιείται µε σταθερό πλήθος bit και όλα τα δείγµατα αναπαρίστανται µε το ίδιο πλήθος από bit κβάντισης. Επιπλέον των ρυθµού δειγµατοληψίας και του µεγέθους του δείγµατος, µια άλλη ιδιότητα του ψηφιακού ήχου είναι το πλήθος των καναλιών (ένα mono, δυο stereo, πολλά - surround) Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 17

Παράδειγµα Κώδικα Διαχείρισης Εικόνας Από το βοηθητικό υλικό του βιβλίου «Συστήµατα Πολυµέσων: Αλγόριθµοι, Πρότυπα & Εφαρµογές» http://www.cengage.com/cgiwadsworth/course_products_wp.pl?fid=m20b&product_isbn_issn=978141883 5941&discipline_number=0

// Constructor and Desctructors MyImage::MyImage() { Data = NULL; Width = -1; Height = -1; ImagePath[0] = 0; MyImage::~MyImage() { if ( Data ) delete Data; // Copy constructor MyImage::MyImage( MyImage *otherimage) { Height = otherimage->height; Width Data = otherimage->width; = new char[width*height*3]; strcpy(otherimage->imagepath, ImagePath ); ) for ( int i=0; i<(height*width*3); i++ { Data[i] = otherimage->data[i]; Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 19

// = operator overload MyImage & MyImage::operator= (const MyImage &otherimage) { Height = otherimage.height; Width = otherimage.width; Data = new char[width*height*3]; strcpy( (char *)otherimage.imagepath, ImagePath ); for ( int i=0; i<(height*width*3); i++ ) { Data[i] = otherimage.data[i]; return *this; Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 20

// MyImage::ReadImage // Function to read the image given a path bool MyImage::ReadImage() { // Verify ImagePath if (ImagePath[0] == 0 Width < 0 Height < 0 ) { fprintf(stderr, "Image or Image properties not defined"); fprintf(stderr, "Usage is `Image.exe Imagefile w h`"); return false; // Create a valid output file pointer FILE *IN_FILE; IN_FILE = fopen(imagepath, "rb"); if ( IN_FILE == NULL ) { fprintf(stderr, "Error Opening File for Reading"); return false; // Create and populate RGB buffers int i; char *Rbuf = new char[height*width]; char *Gbuf = new char[height*width]; char *Bbuf = new char[height*width]; for (i = 0; i < Width*Height; i ++){ Rbuf[i] = fgetc(in_file); for (i = 0; i < Width*Height; i ++){ Gbuf[i] = fgetc(in_file); for (i = 0; i < Width*Height; i ++){ Bbuf[i] = fgetc(in_file); // Allocate Data structure and copy Data = new char[width*height*3]; for (i = 0; i < Height*Width; i++){ Data[3*i] = Bbuf[i]; Data[3*i+1] = Gbuf[i]; Data[3*i+2] = Rbuf[i]; // Clean up and return delete Rbuf; delete Gbuf; delete Bbuf; fclose(in_file); return true; Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 21

// MyImage functions defined here bool MyImage::WriteImage() { // Verify ImagePath // Verify ImagePath if (ImagePath[0] == 0 Width < 0 Height < 0 ){ fprintf(stderr, "Image or Image properties not defined"); return false; // Create a valid output file pointer FILE *OUT_FILE; OUT_FILE = fopen(imagepath, "wb"); if ( OUT_FILE == NULL ) { fprintf(stderr, "Error Opening File for Writing"); return false; // Create and populate RGB buffers int i; char *Rbuf = new char[height*width]; char *Gbuf = new char[height*width]; char *Bbuf = new char[height*width]; // Write data to file for (i = 0; i < Width*Height; i ++){ fputc(rbuf[i], OUT_FILE); for (i = 0; i < Width*Height; i ++){ fputc(gbuf[i], OUT_FILE); for (i = 0; i < Width*Height; i ++){ fputc(bbuf[i], OUT_FILE); // Clean up and return delete Rbuf; delete Gbuf; delete Bbuf; fclose(out_file); for (i = 0; i < Height*Width; i++){ Bbuf[i] = Data[3*i]; Gbuf[i] = Data[3*i+1]; Rbuf[i] = Data[3*i+2]; return true; Δρ. Μαρία Κοζύρη Επεξεργασία Πολυµέσων 22