GNU/Linux >> Linux の 問題 >  >> Linux

LinuxコマンドラインでJPEGまたはPNG画像を最適化および圧縮する方法

たくさんの画像があり、クラウドやローカルストレージにアップロードする前に、元の品質を失うことなく画像を最適化して圧縮したいですか?画像を最適化するのに役立つGUIアプリケーションがたくさんあります。ただし、画像を最適化するための2つの簡単なコマンドラインユーティリティがあります。

  1. jpegoptim –品質を損なうことなくJPEGファイルを最適化/圧縮するユーティリティです。
  2. OptiPNG –は、情報を失うことなくPNG画像をより小さなサイズに最適化する小さなプログラムです。

これら2つのツールを使用すると、一度に1つまたは複数の画像を最適化できます。

コマンドラインからのJPEG画像の圧縮または最適化

jpegoptim は、実際の品質を損なうことなく、JPEG、JPG、およびJFIFファイルを最適化および圧縮するために使用できるコマンドラインツールです。このツールは、ハフマンテーブルの最適化に基づくロスレス最適化をサポートします。

Linuxにjpegoptimをインストールする

jpegoptimをインストールするには Linuxシステムでは、ターミナルから次のコマンドを実行します。

Debianとその派生物について
# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim
RedHatベースのシステムについて

RHELなどのRPMベースのシステム 、 CentOS Fedora など、EPELリポジトリをインストールして有効にする必要があります。または、次のようにコマンドラインから直接epelリポジトリをインストールすることもできます。

# yum install epel-release
# dnf install epel-release    [On Fedora 22+ versions]

次に、次のようにリポジトリからjpegoptimプログラムをインストールします。

# yum install jpegoptim
# dnf install jpegoptim    [On Fedora 22+ versions]

JpegoptimImageOptimizerの使用方法

jpegoptmの構文は次のとおりです。

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

次のtecmint.jpegを圧縮してみましょう 画像ですが、画像を最適化する前に、図のようにduコマンドを使用して画像の実際のサイズを確認してください。

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

ここで、実際のファイルサイズは 6.2MB です 、次を実行してこのファイルを圧縮します:

$ jpegoptim tecmint.jpeg 

画像ビューアアプリケーションで圧縮画像を開くと、大きな違いはありません。ソース画像と圧縮画像の品質は同じになります。

上記のコマンドは、画像を可能な最大サイズに最適化します。ただし、特定の画像を特定のサイズに圧縮することはできますが、ロスレス最適化は無効になります。

たとえば、画像の上を 5.6MBから圧縮してみましょう。 約25万

$ jpegoptim --size=250k tecmint.jpeg

バッチJPEG画像の圧縮と最適化

ディレクトリ全体の画像を圧縮する方法を尋ねられるかもしれませんが、それも難しくありません。画像があるディレクトリに移動します。

[email protected] ~ $ cd img/
[email protected] ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

次に、次のコマンドを実行して、すべての画像を一度に圧縮します。

[email protected] ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

選択した複数の画像を一度に圧縮することもできます:

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

jpegoptimの詳細については ツール、マニュアルページを確認してください。

$ man jpegoptim 

コマンドラインからのPNG画像の圧縮または最適化

OptiPNG は、元の品質を失うことなくPNG(ポータブルネットワークグラフィックス)ファイルを最適化および圧縮するために使用されるコマンドラインツールです。

OptiPNGのインストールと使用法 jpegoptimと非常によく似ています 。

LinuxにOptiPNGをインストールする

OptiPNGをインストールするには Linuxシステムでは、ターミナルから次のコマンドを実行します。

Debianとその派生物について
# apt-get install optipng
or
$ sudo apt-get install optipng
RedHatベースのシステムについて
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

注 :epelリポジトリが必要です RHEL / CentOSで有効になっている optipngをインストールするベースのシステム プログラム。

OptiPNG画像オプティマイザーの使用方法

optipngの一般的な構文 は:

$ optipng filename.png
$ optipng [options] filename.png

tecmint.pngを圧縮してみましょう 画像ですが、最適化する前に、次のように画像の実際のサイズを確認してください。

[email protected] ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

ここで、上の画像の実際のファイルサイズは 350Kです。 、次を実行してこのファイルを圧縮します:

[email protected] ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

上記の出力にあるように、 tecmint.pngのサイズ ファイルが最大30.39%に削減されました 。次に、次を使用してファイルサイズを再度確認します:

[email protected] ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

画像ビューアアプリケーションで圧縮画像を開きます。元のファイルと圧縮ファイルの間に大きな違いはありません。ソース画像と圧縮画像の品質は同じになります。

バッチPNG画像の圧縮と最適化

バッチまたは複数のPNG画像を一度に圧縮するには、すべての画像が存在するディレクトリに移動し、次のコマンドを実行して圧縮します。

[email protected] ~ $ cd img/
[email protected] ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

optipngの詳細については マニュアルページを確認してください。

$ man optipng

結論

あなたがウェブマスターであり、ウェブサイトやブログで最適化された画像を提供したい場合、これらのツールは非常に便利です。これらのツールは、ディスクスペースを節約するだけでなく、画像のアップロード中の帯域幅を削減します。

同じことを達成するための他のより良い方法を知っている場合は、コメントでお知らせください。この記事をソーシャルネットワークで共有し、サポートすることを忘れないでください。


Linux
  1. Linuxで変更日時に基づいてファイルを検索およびソートする方法

  2. Linuxコマンドラインツールを使用してJSONを解析してきれいに印刷する方法

  3. Linuxでtarコマンドを使用してファイルを圧縮および抽出する方法は?

  1. LinuxコマンドラインでJPEGまたはPNG画像を最適化および圧縮する方法

  2. Linuxでファイルを圧縮および解凍する方法

  3. Linuxでファイルをアーカイブおよび圧縮する方法

  1. Linuxで.bz2ファイルを圧縮および解凍する方法

  2. Logrotateを使用してLinuxでログファイルを回転および圧縮する方法

  3. コマンドラインからLinuxコマンドとプログラムをベンチマークする方法