Tutorial | Εντοπισμός τέχνης εικονοστοιχείωνΠαλιότερα είχαμε πρόσβαση σε λογισμικό επεξεργασίας μεγάλων γραφικών διανυσμάτων...Ακόμα πιο παλιά είχαμε οθόνες υπολογιστή 640x480...Ήταν συνηθισμένο να παίζουμε παιχνίδια βίντεο με προσεκτικά φτιαγμένα εικονοστοιχεία σε οθόνες χαμηλών αναλύσεων.Ονομάζουμε "τέχνη εικονοστοιχείων (Pixel Art)" το είδος της τέχνης που γεννήθηκε αυτήν την εποχή.Το Inkscape τροφοδοτείται από το libdepixelize με την ικανότητα αυτόματης διανυσματοποίησης αυτών των "ειδικών" εικόνων τέχνης εικονοστοιχείων. Μπορείτε να δοκιμάσετε άλλους τύπους εισαγωγής εικόνων επίσης, αλλά σας προειδοποιούμε: Το αποτέλεσμα δεν θα είναι εξίσου καλό και είναι καλύτερη ιδέα να χρησιμοποιήσετε τον άλλο ανιχνευτή του Inkscape, potrace.Ας αρχίσουμε με ένα δείγμα εικόνας για να σας εμφανίσουμε τις δυνατότητες αυτής της μηχανής ανίχνευσης. Παρακάτω υπάρχει ένα παράδειγμα εικονογραφίας (που ελήφθη από μια καταχώριση στο Liberated Pixel Cup) στα αριστερά και την διανυσματική του έξοδο στα δεξιά.Το libdepixelize χρησιμοποιεί τον αλγόριθμο Kopf-Lischinski για να κάνει διανύσματα εικόνων. Αυτός ο αλγόριθμος χρησιμοποιεί ιδέες πολλών τεχνικών της επιστήμης των υπολογιστών και μαθηματικές έννοιες για να παράξει ένα καλό αποτέλεσμα για εικόνες τέχνης εικονοστοιχείων. Πρέπει να σημειώσετε ότι το κανάλι άλφα παραβλέπεται ολότελα από τον αλγόριθμο. Το libdepixelize δεν έχει προς το παρόν επεκτάσεις για να σας δώσει μια πρώτης τάξης συμπεριφορά για αυτήν την κλάση εικόνων, αλλά όλες οι εικόνες τέχνης εικονοστοιχείων (pixel art) με υποστήριξη καναλιού άλφα παράγουν παρόμοια αποτελέσματα με την κύρια κλάση των εικόνων που αναγνωρίζονται από τον Kopf-Lischinski.Η παραπάνω εικόνα έχει κανάλι άλφα και το αποτέλεσμα είναι απλώς θαυμάσιο. Παρόλα αυτά, αν βρείτε μια εικόνα τέχνης εικονοστοιχείων με άσχημο αποτέλεσμα και πιστεύετε ότι η αιτία είναι το κανάλι άλφα, τότε επικοινωνήστε με τον συντηρητή του libdepixelize (π.χ. συμπληρώστε ένα σφάλμα στη σελίδα έργου) και θα είναι ευχαριστημένος να επεκτείνει τον αλγόριθμο. Δεν μπορεί να επεκτείνει τον αλγόριθμο αν δεν ξέρει ποιες εικόνες δίνουν άσχημα αποτελέσματα.The image below is a screenshot of Pixel art dialog in the English localisation. You can open this dialog using the PathTrace BitmapPixel art menu or right-clicking on an image object and then Trace Bitmap.Αυτός ο διάλογος έχει δύο ενότητες: Ευρετική και έξοδος. Η ευρετική αποσκοπεί σε προχωρημένες χρήσεις, αλλά υπάρχουν ήδη καλές προεπιλογές και δεν πρέπει να ανησυχείτε για αυτό, έτσι ας το αφήσουμε για αργότερα και να ξεκινήσουμε με την εξήγηση της εξόδου.Ο αλγόριθμος Kopf-Lischinski δουλεύει (από ένα σημείο υψηλού επιπέδου προβολής) όπως ένας μεταγλωττιστής, στη μετατροπή δεδομένων μεταξύ πολλών τύπων παρουσίασης. Σε κάθε βήμα ο αλγόριθμος έχει την ευκαιρία να εξερευνήσει τις λειτουργίες που προσφέρει αυτή η απεικόνιση. Κάποιες από αυτές τις ενδιάμεσες αναπαραστάσεις έχουν μια σωστή οπτική παρουσίαση (όπως η ανασχεδιασμένη έξοδος Voronoi του γραφήματος κελιού) και κάποιες δεν έχουν (όπως το γράφημα ομοιότητας). Κατά την ανάπτυξη του libdepixelize οι χρήστες συνέχισαν να ρωτούν για την προσθήκη της δυνατότητας εξαγωγής αυτών των ενδιάμεσων σταδίων στο libdepixelize και ο αρχικός συγγραφέας του libdepixelize δέχτηκε τις επιθυμίες τους.The default output should give the smoothest result and is probably what you want. You saw already the default output on the first samples of this tutorial. If you want to try it yourself, just open the Trace Bitmap dialog, select Pixel art tab and click in OK after choosing some image on Inkscape.Μπορείτε να δείτε την παρακάτω έξοδο Voronoi και αυτή είναι μια "ανασχεδιασμένη εικόνα εικονοστοιχείων", όπου τα κελιά (προηγουμένως εικονοστοιχεία) ανασχεδιάστηκαν για να συνδέσουν εικονοστοιχεία που είναι μέρη του ίδιου γνωρίσματος. Δεν θα δημιουργηθούν καμπύλες και η εικόνα συνεχίζει να αποτελείται από ευθείες γραμμές. Η διαφορά μπορεί να παρατηρηθεί όταν μεγεθύνετε την εικόνα. Προηγουμένως, τα εικονοστοιχεία δεν μπορούσαν να μοιραστούν μια άκρη με έναν διαγώνιο γείτονα, ακόμα κι αν προοριζόταν να είναι μέρος του ίδιου γνωρίσματος. Αλλά τώρα (χάρη σε ένα γράφημα ομοιότητας χρώματος και την ευρετική μπορείτε να πετύχετε ένα καλύτερο αποτέλεσμα), είναι δυνατό να κάνετε δύο διαγώνια κελιά να μοιραστούν μια άκρη (προηγουμένως μόνο μεμονωμένες κορυφές μοιραζόντουσαν από δύο διαγώνια κελιά).Η τυπική έξοδο Β-ευλύγιστων καμπυλών θα σας δώσει ομαλά αποτελέσματα, επειδή η προηγούμενη έξοδος Βορονόι θα μετατραπεί σε δευτεροβάθμιες καμπύλες Μπεζιέ. Όμως, η μετατροπή δεν θα είναι 1:1 επειδή υπάρχουν περισσότερα ευρετικά που δουλεύουν για να αποφασίσουν ποιες καμπύλες θα συγχωνευτούν σε μία όταν ο αλγόριθμος φτάσει μια ένωση Τ μεταξύ των ορατών χρωμάτων. Μια υπόδειξη για την ευρετική αυτού του σταδίου: Δεν μπορείτε να την συντονίσετε.Το τελικό στάδιο του libdepixelize (προς το παρόν μη εξαγώγιμο από το GUI Inkscape λόγω της πειραματικής και ατελούς κατάστασης) είναι "βελτιστοποίηση καμπυλών" για να αφαιρέσετε το αποτέλεσμα της σκάλας των Β-εύκαμπτων καμπυλών. Αυτό το στάδιο εκτελεί επίσης μια τεχνική αναγνώρισης ορίου για να αποτρέψει κάποια γνωρίσματα από την εξομάλυνση και μια τεχνική τριγωνισμού για να διορθώσει τη θέση των κόμβων μετά τη βελτιστοποίηση. Θα πρέπει να μπορείτε να απενεργοποιήσετε ξεχωριστά κάθε ένα από αυτά τα γνωρίσματα όταν αυτή η έξοδος αφήνει το "πειραματικό στάδιο" στο libdepixelize (ελπίζουμε σύντομα).Η ενότητα ευρετικών στη γραφική διεπαφή σας επιτρέπει να συντονίσετε τα χρησιμοποιούμενα ευρετικά από το libdepixelize για να αποφασίσει τι να κάνει όταν αντιμετωπίσει μια ομάδα 2x2 εικονοστοιχείων όπου οι δύο διαγώνιοι έχουν παρόμοια χρώματα. "Ποια σύνδεση πρέπει να κρατήσω;" είναι αυτό που ρωτά το libdepixelize. Προσπαθεί να εφαρμόσει όλα τα ευρετικά στις συγκρουόμενες διαγωνίους και κρατά τη σύνδεση του νικητή. Αν συμβεί ισοπαλία και οι δυο συνδέσεις σβήνονται.Αν θέλετε να αναλύσετε το αποτέλεσμα κάθε ευρετικού και να παίξετε με τους αριθμούς, η άριστη έξοδος είναι η έξοδος Βορονόι. Μπορείτε να δείτε πιο εύκολα τα αποτελέσματα των ευρετικών στην έξοδο Βορονόι και όταν είσαστε ικανοποιημένοι με τις ρυθμίσεις που πήρατε, μπορείτε απλώς να αλλάξετε τον τύπο εξόδου στον επιθυμητό.Η παρακάτω εικόνα έχει μια εικόνα και την έξοδο των ευλύγιστων καμπυλών Β με μόνο μια από τις ευρετικές ενεργή για κάθε προσπάθεια. Προσέξτε τους πορφυρούς κύκλους που επισημαίνουν τις διαφορές που κάθε ευρετική εκτελεί.Για την πρώτη προσπάθεια (πάνω εικόνα), ενεργοποιήσαμε μόνο τις ευρετικές καμπύλες. Αυτή η ευρετική προσπαθεί να κρατήσει τις μεγάλες καμπύλες συνδεμένες μαζί. Μπορείτε να σημειώστε ότι το αποτέλεσμά του είναι παρόμοιο με την τελευταία εικόνα, όπου τα αραιά ευρετικά εικονοστοιχεία εφαρμόζονται. Μια διαφορά είναι ότι η "δύναμή" του είναι περισσότερο επαρκής και δίνει μόνο μια υψηλή τιμή στον ψήφο του όταν είναι πραγματικά σημαντικό να κρατήσετε αυτές τις συνδέσεις. Ο "επαρκής" ορισμός/έννοια εδώ βασίζεται στην "ανθρώπινη διαίσθηση" με δεδομένη την αναλυμένη βάση δεδομένων του εικονοστοιχείου. Μια άλλη διαφορά είναι ότι αυτή η ευρετική δεν μπορεί να αποφασίσει τι να κάνει όταν υπάρχουν μεγάλα μπλοκ ομάδας συνδέσεων αντί για μεγάλες καμπύλες (σκεφτείτε μια σκακιέρα).Για τη δεύτερη προσπάθεια (την μεσαία εικόνα), ενεργοποιούμε μόνο τις ευρετικές νησίδων. Το μόνο πράγμα που αυτή η ευρετική κάνει είναι η προσπάθεια διατήρησης της σύνδεσης που αλλιώς θα κατέληγε σε πολλά απομονωμένα εικονοστοιχεία (νησίδες) με ένα σταθερό βάρος συμφωνίας. Αυτό το είδος κατάστασης δεν είναι τόσο συνηθισμένο όσο το είδος της κατάστασης που χειρίζονται οι άλλες ευρετικές, αλλά αυτή η ευρετική είναι πολύ καλή και βοηθάει στην παραγωγή ακόμα καλύτερων αποτελεσμάτων.Για την τρίτη προσπάθεια (η κάτω εικόνα), ενεργοποιήσαμε μόνο την αραιή ευρετική των εικονοστοιχείων. Αυτή η ευρετική προσπαθεί να κρατήσει τις καμπύλες με το χρώμα προσκηνίου συνδεμένες. Για να βρει ποιο είναι το χρώμα παρασκηνίου η ευρετική αναλύει ένα παράθυρο με τα εικονοστοιχεία γύρω από τις συγκρουόμενες καμπύλες. Για αυτήν την ευρετική, δεν συντονίζετε μόνο τη "δύναμή" της, αλλά επίσης το παράθυρο των εικονοστοιχείων που αναλύει. Να θυμόσαστε ότι όταν αυξάνετε το παράθυρο των αναλυμένων εικονοστοιχείων η μέγιστη "δύναμη" για τη συμφωνία του θα αυξηθεί επίσης και μπορεί να θελήσετε να προσαρμόσετε τον πολλαπλασιαστή για την συμφωνία του. Ο αρχικός συγγραφέας του libdepixelize θεωρεί ότι αυτή η ευρετική είναι υπερβολικά αδηφάγος και του αρέσει να χρησιμοποιεί την τιμή "0.25" για τον πολλαπλασιαστή του.Ακόμα κι αν τα αποτελέσματα των ευρετικών καμπυλών και των αραιών ευρετικών εικονοστοιχείων δίνουν παρόμοια αποτελέσματα, μπορεί να θελήσετε να τα αφήσετε και τα δυο ενεργά, επειδή οι ευρετικές καμπύλες μπορεί να δώσουν μια πρόσθετη ασφάλεια έτσι ώστε οι σημαντικές καμπύλες των εικονοστοιχείων περιγράμματος δεν θα εμποδίζονται και υπάρχουν περιπτώσεις που μπορούν να απαντηθούν μόνο από την αραιή ευρετική εικονοστοιχείων.Υπόδειξη: Μπορείτε να απενεργοποιήσετε όλες τις ευρετικές ορίζοντας τις τιμές του πολλαπλασιαστή/βάρους στο μηδέν. Μπορείτε να κάνετε οποιαδήποτε ευρετική πράξη αντίθετα προς τις αρχές τους χρησιμοποιώντας αρνητικές τιμές για τις τιμές πολλαπλασιαστή/βάρους. Γιατί θα θέλατε κάποτε να αντικαταστήσετε τη συμπεριφορά που δημιουργήθηκε για να δώσετε καλύτερη ποιότητα με την αντίθετη συμπεριφορά; Επειδή μπορείτε... επειδή μπορεί να θελήσετε ένα "καλλιτεχνικό" αποτέλεσμα... ο,τιδήποτε απλά μπορείτε.Αυτό ήτανε. Για αυτήν την αρχική έκδοση του libdepixelize αυτές είναι όλες οι επιλογές που έχετε. Αλλά αν η αναζήτηση του αρχικού συγγραφέα του libdepixelize και των δημιουργικών συμβούλων πετύχει, μπορεί να δεχτείτε πρόσθετες επιλογές που διευρύνουν ακόμα περισσότερο το εύρος των εικόνων για τις οποίες το libdepixelize δίνει ένα καλό αποτέλεσμα. Να τους ευχηθούμε καλή τύχη.Όλες οι χρησιμοποιούμενες εικόνες ελήφθησαν από το Liberated Pixel Cup προς αποφυγή προβλημάτων πνευματικών δικαιωμάτων. Οι σύνδεσμοι είναι:http://opengameart.org/content/mementohttp://opengameart.org/content/rpg-enemies-bathroom-tilesVinícius dos Santos Oliveira; Nicolas Dufour; Kris De Gussem; Gellért GyurisDimitris Spingos (Δημήτρης Σπίγγος) — 2014-2019Esteban Capella — 2019