GNU/Linux >> Znalost Linux >  >> Ubuntu

Optimalizujte obrázky JPEG/JPG v Ubuntu pomocí Jpegoptim

Schopnost rozlišení obrazu dnešních zařízení pro pořizování fotografií, jako jsou chytré telefony a digitální fotoaparáty, se každým dnem zvyšuje. Skutečný obchod nastává, když musíme tyto obrázky sdílet, nahrát je do cloudového zařízení nebo je dokonce uložit na zařízení s omezeným úložištěm. Grafičtí designéři se také musí vypořádat se stejným problémem, ale jsou dobře vybaveni nástroji, které dokážou obrázky komprimovat, aby je bylo možné snadno sdílet se zúčastněnými stranami.

Pro Ubuntu existuje mnoho grafických nástrojů, které by vám umožnily optimalizovat a komprimovat vaše jpegs, ale zde budeme diskutovat o nástroji příkazového řádku s názvem Jpegoptim. To je užitečné zejména pro terminálově zdatné, kteří rádi plní své úkoly s minimálními systémovými prostředky. Jpegoptim vám může pomoci při komprimaci souborů jpegs, jpg a jfif se ztrátou kvality i bez ní, v závislosti na tom, co hledáte.

V tomto článku popíšeme, jak můžete nainstalovat nástroj příkazového řádku Jpegoptim na Ubuntu. Vysvětlíme také různé způsoby, jak můžete tuto aplikaci použít k optimalizaci a kompresi obrazových souborů jpeg. Článek vám také umožní psát a spouštět bash skript, který zautomatizuje proces komprimace všech jpegů umístěných v jednom adresáři.

Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS.

Instalace Jpegoptim na Ubuntu

Jpegoptim je snadno dostupný prostřednictvím oficiálního úložiště Ubuntu a lze jej snadno nainstalovat z příkazového řádku pomocí příkazu apt-get.

Otevřete aplikaci Terminal buď prostřednictvím systémového vyhledávání ve spouštěči aplikací, nebo pomocí zkratky Ctrl+Alt+T.

Dalším krokem je aktualizace indexu úložiště vašeho systému pomocí následujícího příkazu:

$ sudo apt-get update

To vám pomůže při instalaci nejnovější dostupné verze softwaru z internetu. Vezměte prosím na vědomí, že pouze oprávněný uživatel může přidávat, odebírat a konfigurovat software na Ubuntu.

Nyní jste připraveni nainstalovat Image Jpegoptim; můžete tak učinit spuštěním následujícího příkazu jako sudo:

$ sudo apt-get install jpegoptim

Systém vás může požádat o heslo pro sudo a také vám poskytne možnost Y/n pro pokračování v instalaci. Zadejte Y a poté stiskněte Enter; software se nainstaluje do vašeho systému. Tento proces však může nějakou dobu trvat v závislosti na rychlosti vašeho internetu.

Pomocí následujícího příkazu můžete zkontrolovat číslo verze aplikace a také ověřit, že je skutečně nainstalována ve vašem systému:

$ jpegoptim --version

Použití Jpegoptim pro kompresi obrázků

Pojďme nyní prozkoumat sílu Jpegoptim pomocí následujících způsobů, jak jej můžete použít:

Bezztrátová komprimace jednoho obrázku

Pokud chcete komprimovat jeden obrázek, aniž byste chtěli slevit z kvality, použijte následující příkaz:

$ jpegoptim image_name.jpg

Příklad:

$ jpegoptim sample.jpg

Poznámka: Mějte prosím na paměti, že nástroj přepíše stávající obrázek, takže je dobré mít původní obrázek uložený někde jinde.

Pokud chcete, aby byl obrázek komprimován ještě více, můžete stejný příkaz spustit znovu. Jpegoptim však začne kompresi vynechávat, pokud dosáhne limitu, kdy máte bezztrátovou kvalitu obrazu s největší kompresí.

Zde je návod, jak by výstup vypadal v takové situaci:

Komprimujte obrázek do jiné složky

Pokud se bojíte, že ztratíte svůj původní obrázek, protože ho Jpegoptim přepíše, můžete nástroji sdělit, aby komprimovaný obrázek uložil do jiné složky.

Nejprve vytvořte složku, kam chcete uložit komprimované obrázky. Pokud je chcete uložit do již existující složky, nemusíte vytvářet novou. K provedení komprese pak můžete použít následující syntaxi příkazu:

$ jpegoptim -d ./[cílová-složka] -p [název_obrázku].jpg

Například:

$ jpegoptim -d ./compressed -p sample.jpg

Výše uvedený příkaz zkomprimuje a uloží můj soubor sample.jpg do již existující složky s názvem „compressed“.

Zkontrolujte potenciální kompresi

Pokud chcete předem vidět, jak moc je obraz schopen komprimovat, můžete simulovat kompresi obrazu pomocí Jpegoptim. Následující příkaz ve skutečnosti obrázek nezkomprimuje, pouze vám řekne, jak moc bude obrázek komprimován, pokud se ho někdy pokusíte komprimovat pomocí Jpegoptim.

Následující příklad dále vysvětlí proces:

Mám obrázek jpg s názvem sample.jpg. Jeho velikost nejprve vytisknu pomocí příkazu du takto:

$ du sample.jpg

Potom použiji parametr -n s příkazem jpegoptim, abych věděl o jeho potenciální kompresi.

$ jpegoptim -n sample.jpg

Když jsem znovu zkontroloval jeho velikost po použití příkazu jpegoptim, jak je uvedeno výše, neviděl jsem žádnou změnu v jeho velikosti. To zajistí, že příkaz jpeg s parametrem -n zobrazí pouze budoucí procento komprese a velikost, aniž by ve skutečnosti komprimoval obrázek.

Komprimujte obrázky „se“ ztrátou kvality

Někdy chceme komprimovat naše obrázky s vědomím, že proces nebude bezztrátový. Dobrá věc je, že s Jpegoptim můžete určit, s jakou ztrátou kvality jste v pořádku. Existují dva způsoby, jak můžete „ztrátově“ komprimovat obrázky;

1. Použití parametru -m k určení faktoru kvality/procenta: Nastaví maximální faktor kvality obrazu (vypne režim bezztrátové optimalizace, který je ve výchozím nastavení povolen). Tato možnost sníží kvalitu těch zdrojových souborů, které byly uloženy pomocí nastavení vyšší kvality. Zatímco soubory, které již mají nastavení nižší kvality, budou komprimovány pomocí metody bezztrátové optimalizace.

Zde je návod, jak určit procento komprese:

$ jpegoptim -m[percentage_in_numbers] image.jpg

Toto byl můj původní obrázek:

A takto to vypadá s 10procentním faktorem kvality:

2. Použití možnosti –size k určení velikosti komprimovaného obrázku: Pokuste se optimalizovat soubor na danou velikost (vypne režim bezztrátové optimalizace). Cílová velikost se udává buď v kilobajtech (1 – n)

nebo jako procento (1 % – 99 %) původní velikosti souboru.

Takto můžete určit velikost v kb pro výsledný obrázek:

$ jpegoptim --size=[size-in-kb] image_name.jpg

Dávková optimalizace obrazových souborů

Existuje několik způsobů, jak můžete použít Jpegoptim ke kompresi více souborů najednou.

První je zadat všechny soubory, které chcete komprimovat, v jediném příkazu jpegoptim následovně:

$ jpegoptim file1.jpeg file2.jpg file3.jpg

Příkaz přepíše všechny zadané soubory a nově zkomprimované soubory.

Druhou metodou je říct Jpegoptimu, aby komprimoval všechny soubory určitého typu, například jpg, všechny umístěné ve stejné složce:

$ jpegoptim *.jpg

Abych viděl, jak tento příkaz funguje, uvedl jsem všechny soubory ve složce Obrázky s parametrem -l. Tento příkaz vytiskne celkovou velikost všech obrázků umístěných v aktuální složce:

$ ls -l

Pak jsem použil stejný příkaz ls -l, abych zjistil, jak velký rozdíl má příkaz Jpegoptim k celkové velikosti všech souborů. Pozoruhodný rozdíl v celkových bajtech můžete vidět v následujícím výstupu:

To byly jen dva soubory; můžete takto ušetřit spoustu místa. Krása celého procesu spočívá v tom, že neslevujete z kvality vašich cenných snímků. Totéž můžete samozřejmě udělat s jinými formáty souborů podporovanými Jpegoptim.

Třetí a velmi užitečnou možností je, že můžete dokonce využít skript shellu k automatizaci komprimace všech souborů jednoho typu umístěných v aktuálním adresáři. Postup je následující:

Bash Script pro kompresi všech souborů jpg v aktuálním adresáři

Tato část vysvětlí, jak můžete napsat skript shellu, který zkomprimuje všechny jpg umístěné v aktuálním adresáři do složky s názvem „compressed“. Skript nevytvoří složku; pouze uloží výstup do již vytvořené složky s tímto názvem.

Nejprve se přesuneme do složky Dokumenty, kde vytvoříme skript:

$ cd Documents

Poznámka:Skript můžete uložit kamkoli chcete. Je vhodné vytvořit všechny skripty ve stejné složce, abyste neztratili přehled o tom, kam jste je uložili. Osobně preferuji ukládání všech svých skriptů do složky Dokumenty.

Vytvořte skript

Otevřete nový soubor skriptu v jednom z vašich oblíbených textových editorů. Použijeme nano editor k otevření prázdného souboru skriptu s názvem compressAll.sh

$ nano compressAll.sh

Do tohoto prázdného souboru přidejte následující skript.

#!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Tip: Místo psaní celého skriptu do bash souboru jej můžete zkopírovat odtud a vložit do Terminálu pomocí Ctrl+Shift+V nebo pomocí možnosti Vložit z nabídky po kliknutí pravým tlačítkem.

Takto by váš soubor vypadal:

Nyní ukončete soubor pomocí zkratky Ctrl+X. Poté budete požádáni o uložení souboru na „Uložit upravený vyrovnávací paměť? výzva. Zadejte Y a stiskněte Enter; váš soubor skriptu je nyní uložen v aktuální složce.

Chcete-li, aby tento soubor mohl spustit aktuální uživatel, spusťte ve svém terminálu následující příkaz:

$ chmod +x compressAll.sh

Chcete-li skript spustit, změňte svůj aktuální adresář na ten, jehož jpg chcete komprimovat (v mém případě adresář Pictures). Ujistěte se, že adresář obsahuje složku s názvem „compressed“. Pokud tam není, vytvořte jej před spuštěním skriptu.

Spusťte skript

Nakonec spusťte skript následovně:

$ /home/[username]/Documents/compressAll.sh

Tento příkaz spustí bash skript ze složky, ve které jste jej vytvořili. To je důvod, proč jste museli zadat celou cestu k tomuto souboru .sh.

Uvidíte, že všechny komprimované soubory budou zapsány do složky „compressed“. Můžete to ověřit pomocí následujícího příkazu:

$ ls compressed

To vše bylo o optimalizaci obrazu pomocí nástroje Jpegoptim. Pro další podrobnosti si můžete manuálovou stránku prohlédnout pomocí následujícího příkazu:

$ man jpegoptim

Sdílení obrázků přes internet a jejich nahrání do místa s omezenou šířkou pásma a úložištěm by nyní neměl být problém


Ubuntu
  1. Stažení obrazu ISO Ubuntu Xenial Xerus 16.04 Linux pomocí zsync

  2. Jak optimalizovat a komprimovat obrázky JPEG nebo PNG v příkazovém řádku Linuxu

  3. Rychlý tip:převádějte obrázky na příkazovém řádku pomocí ImageMagick

  1. Nainstalujte Ubuntu 20.04 na Raspberry Pi

  2. Jak vytvořit Docker Images pomocí Dockerfile na Ubuntu 16.04 LTS

  3. Jak sdílet obrázky Docker s ostatními

  1. Jak vytvořit Docker Images pomocí Dockerfile na Ubuntu 18.04 LTS

  2. Jak vytvořit Docker Images pomocí Dockerfile na Ubuntu 20.04 LTS

  3. Začínáme s předpřipravenými obrázky Docker