Zmniejszanie rozmiaru zdjęć – program convert

Zdjęcia zrobione aparatem cyfrowym, zwłaszcza gdy ma on matrycę o dużej ilości pikseli, zajmują wiele miejsca. Nie zawsze jednak potrzebujemy zdjęć o tak ogromnych rozmiarach, zwykle chcemy je obejrzeć na ekranie monitora, w tym przypadku nie muszą być w jakiejś kosmicznej rozdzielczości.

Innym problemem może być próba wysłania ich przy pomocy poczty elektronicznej, czy też umieszczenie wyników naszej pracy w internecie (nikt chyba nie lubi czekać na „wczytanie” olbrzymiego obrazka). W takim wypadku wpierw przydałoby się przeprowadzić „terapię odchudzającą”.

Jednym z rozwiązań jest użycie programu convert z pakietu imagemagick. Przykładowo wydając polecenie:

convert zdjecie.jpg -resize 1024×768 -quality 75 male_zdjecie.jpg

zmniejszymy rozdzielczość obrazka i ustawimy jakość pliku jpg na 75%.

Kilka słów wyjaśnienia. Zdjęcie które zmieniamy to zdjecie.jpg, zmniejszony obrazek tomale_zdjecie.jpg. Opcja -resize odpowiada za zmianę rozdzielczości zdjęcia, w powyższym przypadku wynik nie będzie miał szerokości większej niż 1024 pikseli i wysokości większej niż 768 pikseli (przykład dostosowania zdjęć do wyświetlania na monitorze o rozdzielczości 1024×768). Z kolei opcja -quality odpowiada za stopień kompresji formatu JPG, może przyjąć wartości od 0 (najlepsza kompresja, najgorsza jakość) do 100 (najlepsza jakość, najsłabsza kompresja).

Aby przekształcić wiele zdjęć wystarczy powyższe polecenie umieścić w pętli (tutaj powłoka bash), przykładowo:

for nazwa in *.jpg; do convert „$nazwa” -resize 1024×768 -quality 75 „male_$nazwa”; done;

spowoduje zapisanie zmniejszonych kopii plików o rozszerzeniu „.jpg” z przedrostkiem „male_” (oryginały zostaną zachowane).

Na jaki efekt można liczyć? Wszystko zależy od tego w jakiej rozdzielczości wykonane są zdjęcia. Przykładowo korzystając z powyższego polecenia udało się zmniejszyć miejsce zajmowane przez kilkadziesiąt zdjęć z około 300 do około 10 MB.

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *