Μετατροπή – συμπίεση – αλλαγή μεγέθους εικόνας από το τερματικό

metatropi-smikrinsi-simpiesh-eikonas

Δεν είναι λίγες οι φορές, που χρειάζεται να ανεβάσεις μια εικόνα η να την στείλεις κάπου και ψάχνεσαι για ώρες να βρεις τρόπο να μειώσεις το μέγεθος μιας εικόνας στο Linux. Μην ψάχνεσαι, απλά άνοιξε το τερματικό.

Έχοντας δοκιμάσει αρκετά προγράμματα (είτε online είτε τοπικά) για να κάνω συμπίεση εικόνων και φωτογραφιών, εντούτοις κανένα δεν μου πρόσφερε την καλύτερη, ταχύτερη και ευέλικτη λύση όσο τρεις μικρές εφαρμογές τερματικού.

metatropi-smikrinsi-simpiesh-eikonas

Γιατί να συμπιέσω την εικόνα;

Υπάρχουν διάφοροι λόγοι για την συμπίεση εικόνων. Πρώτα από όλα δεν έχει νόημα να στείλεις σε κάποιον 15 φωτογραφίες (π.χ. από γενέθλια) μέσω email απλά για να τα δει ο παραλήπτης (και πιθανόν να τα διαγράψει. Σαν καλά παιδιά που είστε προφανώς, δεν θέλετε να φάτε τα MB του παραλήπτη (εκτός και αν θέλετε…). Επίσης δεν έχει νόημα να ανεβάζεται εικόνες ή φωτογραφίες μεγέθους 7MB π.χ. σε ένα eshop που διατηρείτε όταν απλά θα είναι για δημόσια προβολή κάποιου προϊόντος. Τέλος, αν γράφετε π.χ. ένα κείμενο σε Libre Office και προσθέτετε μια δυο εικόνες στο κείμενο ανά μια σελίδα, και είναι πολλών σελίδων το αρχείο, τότε το τελικό μέγεθος του θα είναι απαγορευτικό για διαμοιρασμό.

Φυσικά όπως είπα, υπάρχουν εφαρμογές που τα κάνουν αυτά με πολύ εύκολο και αυτόματο τρόπο (π.χ. plugin) οι οποίες άλλες φορές είναι ικανοποιητικές ενώ άλλες φορές είναι «δύστροπες». Κανένα δεν είναι ευέλικτο π.χ. για τροποποίηση η δημιουργία script που θα κάνει όλες η μερικές διεργασίες (μετατροπή από png σε jpg, αλλαγή ανάλυσης κλπ) σε μια αλληλουχία εικόνων ή και μαζικά.

Προγράμματα τερματικού για συμπίεση εικόνων

Τα προγράμματα που θα χρειαστούμε είναι:

  • convert, για μετατροπή εικόνα απο μια μορφή σε άλλη
  • mogrify, για αλλαγή διαστάσεων εικόνας
  • optipng – jpegoptim, συμπίεση και μείωση μεγέθους εικόνων png και jpg αντίστοιχα

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

Μετατροπή εικόνας από png σε jpg

Ας πούμε ότι έχουμε την εικόνα thamnos.png και θέλουμε να το μετατρέψουμε σε jpg μορφή. Τότε δίνουμε:

convert thamnos.png thamnos.jpg

Η παραπάνω εντολή θα δημιουργήσει ένα αντίγραφο του thamnos αλλά σε μορφή (format) jpg. Θα δείτε φυσικά ότι το ​convert δεν διαγράφει την αρχική εικόνα ​thamnos.png

metatropi-png-jpg
Με την μετατροπή μειώσαμε από 1,3 MB σε 306KB

Μετά την μετατροπή δείτε το μέγεθος της εικόνας σε MB. Λογικά θα δείτε ότι έχει μειώσει αισθητά το μέγεθος της εικόνας (υπάρχουν φυσικά εξαιρέσεις που το png είναι πιο μικρό σε μέγεθος)

Μαζική αλλαγή μεγέθους φωτογραφιών

Ας πούμε λοιπόν ότι έχετε ένα φάκελο με εικόνες JPG (ας πούμε 50 φωτογραφίες) οι οποίες τραβήχτηκαν με ένα κινητό το οποίο διαθέτει κάμερα αρκετών Megapixel και θέλετε να αλλάξετε το μέγεθός τους από 5000p σε 1000p διότι απλά θέλετε να τα στείλετε προσωρινά τις φωτογραφίες μέσω email σε κάποιον.

Πάτε λοιπόν στον φάκελο μέσω τερματικού και δίνετε :

mogrify -resize 1000 *.jpg

 

smikrinsi-eikonas
Με την σμίκρυνση της εικόνας μειώσαμε το μέγεθος απο 306KB σε 76KB

To αστεράκι λοιπόν θα πάρει όλα τα αρχεία που βρίσκονται μέσα στον φάκελο και έχουν κατάληξη .jpg οπότε καλό θα είναι κάνετε αντίγραφα των εικόνων σε κάποιο άλλο φάκελο για να τα έχετε στη original κατάσταση.

Συμπίεση εικόνων jpg

Ας πούμε τώρα, ότι θέλετε ακόμα περισσότερο να μειώσετε το μέγεθος των φωτογραφιών, χωρίς όμως να αλλάξετε το μέγεθος, αλλά απο την άλλη θέλετε να μειώστε και τα MB που καταναλώνει.

Όπως είστε λοιπόν στον φάκελο μέσω τερματικού, δίνετε :

jpegoptim -m 85 onoma-eikonas.jpg

 

Φυσικά εσείς μπορεί να θέλετε ακόμα περισσότερη συμπίεση οπότε έχετε στο νου σας ότι όσο μικρότερο -m αριθμός τόσο μεγαλύτερη συμπίεση γίνεται.

simpiesi-eikonas
Με την συμπίεση εικόνας μειώσαμε το μέγεθος από 76ΚΒ σε 41KB

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

Συμπίεση εικόνων png

Αν δεν έχετε μετατρέψει τις εικόνες png σε jpg τότε αντιστοίχως μπορείτε να συμπιέσετε μια εικόνα png με

optipng *.png

Επίλογος

Με τις παραπάνω εντολές, καταφέραμε από 1.3 MB η εικόνα να την φτάσουμε στα 41ΚΒ χωρίς να χάσουμε υπερβολικά σε ποιότητα διότι όπως και να έχει, οι εικόνες προορίζονταν για προβολή σε κινητό. Φυσικά το δικό σας σενάριο μπορεί να διαφέρει οπότε μπορεί να χρειαστείτε άλλες παραμέτρους.

Όλες οι παραπάνω εφαρμογές διαθέτουν εκτενέστατα manual (δίνετε man όνομα-εφαρμογής) και μπορείτε να δείτε τις παραμέτρους αλλά και να πειραματιστείτε με διαφορετικές τιμές και συμπιέσεις.

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

 

Advertisements

9 thoughts on “Μετατροπή – συμπίεση – αλλαγή μεγέθους εικόνας από το τερματικό

    1. Ευχαριστώ. Παρέθεσα απλά αυτά που χρησιμοποιώ εγώ καθημερινά οπότε όποιος θέλει μπορεί να βασιστεί σε αυτά που έδωσα και να ψάξει ακόμα περισσότερο

  1. Ποοο καλά στο μυαλό μου είσαι… Σκέφτομαι να το κάνω αυτό γιατί έχω γύρω στα 80 γιγα σε φωτογραφίες και βίντεο, ειδικά με τα κινητά που τραβάνε σε 13mp και καθώς πλέον δεν τυπώνουμε, αλλά τις βλέπουμε στην οθόνη, είναι πραγματικά τζάμπα χώρος!
    Σκέφτομαι λοιπόν αφενός να τις μικρύνω όλες στα 4-5mp εκτός από μερικές που θα πάρω χώρια backup, και να τις συμπιέσω περαιτέρω. Για το τελευταίο θα ψάξω κανένα σκριπτ να κάνει χρήση του αλγορίθμου της google που επιτυγχάνει καλές συμπιέσεις χωρίς μεγάλη απώλεια ποιότητας.

    1. Ναι, άστα να πάνε. 10MP και άμα κάνεις ζουμ είναι φουλ στο θόρυβο οπότε δεν έχει νόημα.

      χρήση του αλγορίθμου της google
      Περισσότερες πληροφορίες?

    2. Παιδιά άκυρο το σχετικό με τον guetzli αλγόριθμο της google, προς το παρόν είναι πρακτικά ανεφάρμοστο για αυτή την χρήση! Κάνει ΠΑΡΑ πολύ χρόνο για να επεξεργαστεί έστω και 1 φωτογραφία!

  2. Κλασικό αιώνιο πρόβλημα. Στα win το κάνω με photoshop αλλά πάλι και εκεί χάνω σε ταχύτητα. Ευχαριστούμε!

  3. Τα convert και mogrify βρίσκονται (συνήθως) μαζί στο ImageMagick. Το convert μπορεί να χρησιμοποιηθεί αντί του jpegoptim ως convert -quality 85% in.jpg out.jpg αν και το jpegoptim έχει μια ωραία λειτουργία όπου βάζει κάποιος ένα target file size.

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

w

Σύνδεση με %s