| aaaa | aaaa |
a |
|
|||
|
|
||||||
|
Ξεκίνησα με δύο ασπρόμαυρες εικόνες: |
||||||
|
1. Nίκος Κούνδουρος |
![]()
2.
Λόρδος Μπάυρον |
|||||
|
Εφάρμοσα πάνω στις δύο αυτές εικόνες (Pic1, Pic2) των ακόλουθο αλγόριθμο:
ΚΡΥΠΤΟΓΡΑΦΗΣΗ
Το
αποτέλεσμα (Pic3-α) ήταν μία εικόνα του Κούνδουρου που περιέχει τον Μπάυρον. Στη
συνέχεια αντέστρεψα τη σειρά των αρχικών εικόνων και εφάρμοσα ξανά τον
αλγόριθμο πάνω τους. Το αποτέλεσμα (Pic3-β) ήταν μια εικόνα του Μπάυρον που περιέχει
τον Κούνδουρο:
|
||||||
|
3α. o Κούνδουρος περιέχει τον Μπάυρον |
![]() 3β. O Μπάυρον περιέχει τον Κούνδουρο |
|||||
|
Η κεντρική ιδέα είναι η ακόλουθη: Υποβιβάζουμε τη διάσταση της πρώτης εικόνας στο 1/3 και την ανάλυση στο 1/9, αποδίδοντας σε κάθε 3χ3 πλέγμα pixels την τονική τιμή του πρώτου από αυτά. Ένας πιο προχωρημένος αλγόριθμός θα τους απέδιδε τη μέση τιμή τους, αλλά εδώ το θέμα μας είναι και η απλότητα ή αν προτιμάτε καλύτερα, η "κομψότητα" του αλγόριθμου. Κρατάμε ακέραιο μόνο το πρώτο από τα εννέα pixels και στα υπόλοιπα οκτώ, στα οποία ήδη αποδώσαμε αρχικά την τιμή του πρώτου pixel, προσθέτουμε ισοκατανεμημένα το ένα όγδοο της τονικής τιμής του αντίστοιχου πρώτου από τα εννέα pixels της δεύτερη εικόνας.
Στον πίνακα (α) βλέπουμε ένα 3x3 πλέγμα pixels της πρώτης εικόνας και στον πίνακα (β) το αντίστοιχο πλέγμα 3x3 πλέγμα pixels της δεύτερης εικόνας, το οποίο έχει τις ίδιες συντεταγμένες με εκείνο της πρώτης. Οι αριθμητικές τιμές στους πίνακες παριστάνουν την τονική τιμή του κάθε pixel, από 0=μαύρο, έως 100=λευκό. Στον πίνακα (γ), η τιμή 56 που βλέπουμε πάνω αριστερά είναι ίδια με την αντίστοιχη του πίνακα (α), ενώ το επαναλαμβανόμενο 68 που συμπληρώνει τον υπόλοιπο πίνακα, είναι το 56+96/8, όπου 96 η πάνω αριστερά τιμή του πίνακα (β). Η τιμή 96, που συμπληρώνει τον πίνακα (δ), προκύπτει σαν (68-56)*8 = 12*8 = 96. Τελικά, ο πίνακας (γ) παριστάνει απλοποιημένο τον πίνακα (α) που έχει μέσα του κρυπτογραφημένο απλοποιημένα τον πίνακα (β) και όταν ο πίνακας (γ) αποκρυπτογραφηθεί δίνει τον πίνακα (δ) που είναι μια απλοποιημένη εκδοχή του πίνακα (β). Σε έναν λίγο πιο εξελιγμένο αλγόριθμο, αν πάρουμε από τον πίνακα (α) την μέση τιμή των pixels του (56+50+65+57+55+63+50+45+60)/9 = 56 (εδώ συμπτωματικά ταυτίζεται με την τιμή του πρώτου pixel) και από τον πίνακα (β) επίσης την μέση τιμή των pixels του (96+89+99+93+99+90+89+98+91)/9 = 94 (εδώ δεν ταυτίζεται με την τιμή του πρώτου pixel που ήταν 96 αντί του μέσου 94), θα έχουμε μεγαλύτερη ακρίβεια.
Πως λειτουργεί: Θεωρούμε τους τόνους του γκρι από 0% (μαύρο) έως και 100% (λευκό). Ο ανθρώπινος εγκέφαλος αναγνωρίζει με πολύ ευκολία επτά ισαπέχοντες κατά 17% διαφορετικούς τόνους του γκρι:
Αν μισοκλείσετε τα μάτια κοιτώντας το παραπάνω διάγραμμα, θα παρατηρήσετε ότι τα όρια των διαφορετικών περιοχών του γκρί, τείνουν να χαθούν, ειδικά στις σκουρότερες περιοχές. Όταν οι τόνοι του γκρι είναι ακόμα περισσότεροι και κοντινότεροι μεταξύ τους, τότε o εγκέφαλος έχει την τάση να τους συγχέει εντελώς, ακόμα και με τα μάτια ορθάνοικτα. Διαιρώντας την τονική τιμή του κάθε pixel της δεύτερης εικόνας στα οκτώ και ισοκατανέμοντας αυτή την τιμή σε οκτώ αντίστοιχα pixel της πρώτης εικόνας, η πρώτη εικόνα αλλάζει αλλά όχι "αισθητά" για τον άνθρωπο.
Άγγελος Σπάρταλης
|
||||||