9.2. Πίνακας συνέλιξης

9.2.1. Επισκόπηση

Εδώ είναι μια περιοχή μαθηματικών. Τα περισσότερα φίλτρα χρησιμοποιούν πίνακα συνέλιξης. Με το φίλτρο πίνακα συνέλιξης, εάν σας αρέσει, μπορείτε να δημιουργήσετε ένα προσαρμοσμένο φίλτρο.

Τι είναι πίνακας συνέλιξης; Είναι πιθανό να πάρετε μια χοντρική ιδέα του, χωρίς να χρησιμοποιήσετε μαθηματικά εργαλεία που μόνο λίγοι ξέρουν. Συνέλιξη είναι η επεξεργασία ενός πίνακα από έναν άλλο που λέγεται «πυρήνας».

Το φίλτρο πίνακα συνέλιξης χρησιμοποιεί έναν πρώτο πίνακα του οποίου η εικόνα θα επεξεργαστεί. Η εικόνα είναι μια δισδιάστατη συλλογή εικονοστοιχείων σε ορθογώνιες συντεταγμένες. Ο χρησιμοποιούμενος πυρήνας εξαρτάται από το εφέ που θέλετε.

Το GIMP χρησιμοποιεί πίνακες 5x5 ή 3x3. Θα εξετάσουμε μόνο τους πίνακες 3x3 που είναι οι πιο χρησιμοποιούμενοι και είναι αρκετοί για όλα τα εφέ που θέλετε. Εάν όλες οι τιμές περιγράμματος ενός πυρήνα ορίζονται σε μηδέν, τότε το σύστημα θα το θεωρήσει ως πίνακα 3x3.

Το φίλτρο μελετά διαδοχικά κάθε εικονοστοιχείο της εικόνας. Για καθένα τους, το οποίο αποκαλούμε το «αρχικό εικονοστοιχείο», πολλαπλασιάζει την τιμή αυτού του εικονοστοιχείου και τις τιμές των 8 εικονοστοιχείων που το περιβάλλουν με την αντίστοιχη τιμή πυρήνα. Έπειτα προσθέτει τα αποτελέσματα και το αρχικό εικονοστοιχείο ορίζεται σε αυτήν την τελική τιμή αποτελέσματος.

Ένα απλό παράδειγμα:

Στα αριστερά είναι ο πίνακας εικόνας: κάθε εικονοστοιχείο σημειώνεται με την τιμή του. Το αρχικό εικονοστοιχείο έχει ένα κόκκινο περίγραμμα. Η περιοχή επενέργειας του πυρήνα έχει ένα πράσινο περίγραμμα. Στη μέση είναι ο πυρήνας και στα δεξιά είναι το αποτέλεσμα συνέλιξης.

Να τι συμβαίνει: το φίλτρο διαβάζει διαδοχικά, από αριστερά στα δεξιά και από πάνω προς τα κάτω, όλα τα εικονοστοιχεία της περιοχής επενέργειας πυρήνα. Πολλαπλασιάζει την τιμή καθενός τους με την αντίστοιχη τιμή πυρήνα και προσθέτει τα αποτελέσματα. Το αρχικό εικονοστοιχείο έγινε 42: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42. (το φίλτρο δεν δουλεύει στην εικόνα αλλά σε ένα αντίγραφο). Ως ένα γραφικό αποτέλεσμα, το αρχικό εικονοστοιχείο μετακινήθηκε ένα εικονοστοιχείο προς τα κάτω.

9.2.2. Ενεργοποίηση του φίλτρου

This filter is found in the main menu under FiltersGenericConvolution Matrix….

9.2.3. Επιλογές

Σχήμα 17.172. Επιλογές «πίνακα συνέλιξης»

Επιλογές «πίνακα συνέλιξης»

Presets, «Input Type», Περικοπή, Blending Options, Προεπισκόπηση, Merge filter, Split view
[Σημείωση] Σημείωση

Αυτές οι επιλογές περιγράφονται στο Τμήμα 2, «Κοινά χαρακτηριστικά».

Πίνακας

Αυτός είναι ένας πίνακας πυρήνα 5x5: εισάγετε τις επιθυμητές τιμές άμεσα στα πλαίσια.

Διαιρέτης

Το αποτέλεσμα του προηγούμενου υπολογισμού θα διαιρεθεί με το διαιρέτη. Σπάνια θα χρησιμοποιήσετε ο,τιδήποτε άλλο εκτός από 1, που αφήνει το αποτέλεσμα αμετάβλητο και 9 ή 25 ανάλογα με το μέγεθος του πίνακα, που δίνει το μέσο όρο των τιμών εικονοστοιχείου. Ο διαιρέτης μπορεί να αλλαχθεί μόνο όταν η κανονικοποίηση δεν είναι επιλεγμένη.

Αντιστάθμιση

Αυτή η τιμή προστίθεται στο αποτέλεσμα της διαίρεσης. Αυτό είναι χρήσιμο εάν το αποτέλεσμα μπορεί να είναι αρνητικό. Αυτή η αντιστάθμιση ίσως να είναι αρνητική. Μπορεί να αλλαχθεί μόνο όταν η κανονικοποίηση δεν είναι σημειωμένη.

Κανάλια

Εδώ μπορείτε να επιλέξετε ποια κανάλια θα αλλάξει το φίλτρο.

Κανονικοποίηση

Εάν αυτή η επιλογή σημειωθεί, ο διαιρέτης παίρνει την τιμή του αποτελέσματος της συνέλιξης. Εάν αυτό το αποτέλεσμα είναι μηδέν (δεν είναι δυνατό να διαιρέσετε με μηδέν), τότε εφαρμόζεται αντιστάθμιση 128. Εάν είναι αρνητικό (αρνητικό χρώμα δεν είναι δυνατό), εφαρμόζεται μια αντιστάθμιση 255 (αντιστρέφει το αποτέλεσμα).

Βαρύτητα άλφα

Εάν αυτή η επιλογή δεν σημειωθεί, το φίλτρο δεν λαμβάνει υπόψη διαφάνεια και αυτό μπορεί να είναι η αιτία μερικών παρασίτων κατά τη θόλωση.

Περίγραμμα

When the initial pixel is on a border, a part of the kernel is outside the image. You have to decide what the filter should do:

Σχήμα 17.173. Border examples

Border examples

Source image

Border examples

None border

Border examples

Clamp border

Border examples

Loop border


Κανένα

This part of the kernel is not taken into account.

Σφιγκτήρας

Εικονοστοιχεία στα περιγράμματα δεν τροποποιούνται, αλλά περικόπτονται.

Βρόχος

This part of the kernel will be affected by pixels of the opposite border, so pixels disappearing from one side reappear on the other side.

Μαύρο

Τα εικονοστοιχεία στα περιγράμματα αλλάζουν σε μαύρα.

Λευκό

Τα εικονοστοιχεία στα περιγράμματα αλλάζουν σε λευκά.

9.2.4. Παραδείγματα

Ο σχεδιασμός πυρήνων βασίζεται σε μαθηματικά υψηλού επιπέδου. Μπορείτε να βρείτε έτοιμους πυρήνες στον ιστό. Ιδού μερικά παραδείγματα:

Σχήμα 17.174. Όξυνση

Όξυνση
Όξυνση

Σχήμα 17.175. Θόλωση

Θόλωση
Θόλωση

Σχήμα 17.176. Βελτίωση ακμής

Βελτίωση ακμής
Βελτίωση ακμής

Σχήμα 17.177. Ανίχνευση άκρης

Ανίχνευση άκρης
Ανίχνευση άκρης

Σχήμα 17.178. Χάραξη

Χάραξη
Χάραξη