Начини плаћања Abuse

Оптимизација слика у Линуксу

16.06.2021, 19:33

Ако имате довољан број слика на рачунару, оне заузимају превише простора, онда се њихова величина свакако може смањити чак и без губитка квалитета. Ово такође може бити веома корисно приликом отпремања слика у складиште у облаку.

У овом чланку ћемо погледати како се врши оптимизација слика у Линуксу. Постоји низ графичких алата за решавање овог проблема, али у стварности је све једноставније. Затим ћемо погледати како компресовати слике користећи два једноставна, али веома ефикасна конзолна услужна програма командне линије: jpegoptim - услужни програм за оптимизацију и компресију слика без губитка квалитета у JPEG формату; optipng - мали програм који вам омогућава да смањите величину PNG слика без губитка квалитета.

JPEG и PNG су најчешћи формати слика на интернету, тако да можете оптимизовати скоро сваку слику.

Оптимизација JPEG слика

Постоји услужни програм под називом jpegoptim - алат командне линије који се може користити за компресију JPEG, JPG и JFIF слика без губитка квалитета. Услужни програм оптимизује слике на основу Хафманових табела. JPEG алгоритам већ користи компресију, али се ова компресија постиже губитком квалитета, а овде можемо оптимизовати величину без промене слике.

ИНСТАЛИРАЊЕ JPEGOPTIM-а

Да бисте инсталирали услужни програм у Ubuntu, Debian и дистрибуцијама заснованим на њему, покрените:

 $ sudo apt install jpegoptim

У Федори, Ред Хату, ЦентОС-у и другим дистрибуцијама заснованим на њима ствари су мало компликованије, прво ћете морати да додате репозиторијум epel-release. То можете учинити следећом командом:

 $ sudo yum install epel-release

Или:

 $ sudo dnf install epel-release

Затим можете инсталирати jpegoptim из репозиторијума који сте управо омогућили:

 $ sudo yum install jpegoptim

Или:

 $ sudo dnf install jpegoptim

КАКО СЕ КОРИСТИ JPEGOPTIM

Хајде да погледамо како се користи jpegoptim. Коришћење услужног програма за компресију слика у Линуксу је веома једноставно. Да бисте то урадили, само покрените програм и проследите му име датотеке. Ево синтаксе:

 $ jpegoptim optiona file_name.jpeg

Хајде да погледамо опције корисних услуга:

  • -d - наведите фасциклу у коју треба сачувати готове слике;
  • -f - присилна оптимизација;
  • -m - индикатор квалитета, онемогућава компресију без губитака и поставља ниво квалитета од 0 до 100, што је већи то боље;
  • -n - не вршити праву оптимизацију, већ само приказивати резултат;
  • -S - подесите величину готове слике, можете је навести у процентима или килобајтима;
  • -o - заменити оригиналну датотеку;
  • -p - сачувај временске ознаке;
  • -P - сачува дозволе за датотеке.

Погледајмо како оптимизовати слике у Линуксу користећи jpegoptim. Прво, погледајмо оригиналну величину:

 $ du image.jpg 

Оптимизација слика у Линуксу

Затим вршимо најједноставнију оптимизацију:

 $ jpegoptim image.jpg 

Оптимизација слика у Линуксу

Затим поново погледамо величину:

 $ du image.jpg 

Оптимизација слика у Линуксу

Као што видите, jpg компресија је функционисала, и отварање слике у било ком графичком програму неће показати никакве разлике или погоршање квалитета, оригинална и готова слика ће бити идентичне. Лево је оптимизована, десно је оригинал:

Оптимизација слика у Линуксу

Ако желите, можете компресовати слику на одређену величину, али тада неће бити без губитака:

 $ jpegoptim --size=250k image.jpeg

Слика ће бити компресована, али ће квалитет бити приметно лошији. Ако има много слика, можете врло лако користити пакетну компресију, за то само идите у фасциклу са сликама, а затим покрените команду компресије наводећи маску уместо датотеке, на пример:

$ cd images/ jpegoptim *.jpg 

Оптимизација слика у Линуксу

Такође можете навести више слика одједном:

 $ jpegoptim image1.jpg image2.jpg

Да бисте оптимизовали све слике у одређеној фасцикли, можете користити команду xargs са командом find. На пример, компресујте све слике у тренутној фасцикли и преместите их у фасциклу ~/compressed:

 $ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p

То је то, сада знате како компресовати jpg слике у Линуксу. Затим ћемо причати о томе како компресовати png. Ово је такође веома једноставно.

ОПТИМИЗАЦИЈА PNG СЛИКА У ЛИНУКСУ

PNG или преносива мрежна графика је растерски формат слике дизајниран да замени GIF формат, који је лош у погледу компресије и приказивања боја. Величине PNG слика могу значајно да варирају у зависности од неколико фактора, као што су дубина боје, испреплетање, филтер пре компресије, коришћени алгоритам компресије итд.

OptiPNG је конзолни услужни програм који вам омогућава да оптимизујете PNG слике. Наиме, компресујете величину, враћате метаподатке, проверавате интегритет итд. Са OptiPNG-ом можете компресовати датотеке без губитка квалитета, баш као што смо урадили са Jpeg форматом.

ИНСТАЛАЦИЈА ОПТИПИНГА

Ако користите Ubuntu, програм се налази у званичним репозиторијумима и можете га веома лако инсталирати. Да бисте инсталирали optipng у Debian, Ubuntu и дериватима, откуцајте:

 $ sudo apt install optipng

У Red Hat-у, CentOS-у или Fedora-и све се ради потпуно исто, само са другачијим менаџером пакета:

 $ sudo yum install optipng

Или:

 $ sudo dnf install optipng

КОМПРЕСИРАЊЕ СЛИКА ПОМОЋУ OPTIPNG

Синтакса услужног програма је веома једноставна. Можете га користити на исти начин као и jpegoptim:

 $ optipng ioptions file_name.png

Хајде да погледамо опције корисних услуга:

  • -backup - сачувајте копије измењених датотека;
  • -dir - фасцикла за писање датотека;
  • -force - присилно снимање излазне датотеке;
  • -out - записати излазну датотеку у наведену;
  • -simulate - не извршавати никакве радње, већ само приказивати резултат;
  • -o - подесите ниво компресије од 0 до 7.

Сада покушајмо да оптимизујемо png у Линуксу. Прво, погледајмо величину датотеке:

 $ df -h image.png 

Оптимизација слика у Линуксу

Да бисте извршили компресију слике, користите следећу команду:

 $ optipng image.png

Затим поново погледамо величину, у овом примеру разлике нису видљиве јер је слика веома мала, али на већој величини биће значајне:

Овде је такође компресија слика без губитака у png формату за Линук, што значи да ћете добити потпуно исту слику само мању. Такође можете одредити ниво компресије, он не утиче на квалитет слике, али време рада програма директно зависи од тога. Вредност може бити од 0 до 7 и што је вредност већа, то је компресија јача и дуже ће обрада трајати:

 $ optipng -o 7 impge.png 

За групну обраду слика можете користити исти принцип као када радите са jpeg-ом:

 $ cd images/ $ optipng *.png 

Сада знате како да оптимизујете слике на Линуксу.