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

Jpegoptimを使用してUbuntuでJPEG/JPG画像を最適化する

スマートフォンやデジタルカメラなどの今日の写真キャプチャデバイスの画像解像度機能は、日々向上しています。これらの画像を共有したり、クラウドファシリティにアップロードしたり、ストレージが制限されたデバイスに保存したりする必要がある場合に、実際の取引が発生します。グラフィックデザイナーも同じ問題に対処する必要がありますが、画像を圧縮して関係者と簡単に共有できるツールを備えています。

Ubuntuの場合、jpegを最適化および圧縮できるグラフィカルユーティリティが多数ありますが、ここではJpegoptimと呼ばれるコマンドラインツールについて説明します。これは、最小限のシステムリソースを使用してタスクを実行したいターミナルに精通したユーザーにとって特に便利です。 Jpegoptimは、探しているものに応じて、品質の低下の有無にかかわらず、jpeg、jpg、およびjfifファイルを圧縮するのに役立ちます。

この記事では、UbuntuにコマンドラインユーティリティJpegoptimをインストールする方法について説明します。また、このアプリケーションを使用してjpeg画像ファイルを最適化および圧縮するさまざまな方法についても説明します。この記事では、単一のディレクトリにあるすべてのjpegを圧縮するプロセスを自動化するbashスクリプトを記述して実行することもできます。

この記事に記載されているコマンドと手順をUbuntu18.04LTSシステムで実行しました。

UbuntuへのJpegoptimのインストール

Jpegoptimは、公式のUbuntuリポジトリから簡単に入手でき、apt-getコマンドを使用してコマンドラインから簡単にインストールできます。

システムのアプリケーションランチャー検索またはCtrl+Alt+Tショートカットを使用してターミナルアプリケーションを開きます。

次のステップは、次のコマンドを使用してシステムのリポジトリインデックスを更新することです。

 $ sudo apt-get update 

これは、インターネットから利用可能な最新バージョンのソフトウェアをインストールするのに役立ちます。 Ubuntuでソフトウェアを追加、削除、構成できるのは、許可されたユーザーのみであることに注意してください。

これで、ImageJpegoptimをインストールする準備が整いました。これを行うには、次のコマンドをsudoとして実行します。

 $ sudo apt-get install jpegoptim 

システムはsudoのパスワードを要求し、インストールを続行するためのY/nオプションも提供する場合があります。 Yと入力し、Enterキーを押します。ソフトウェアがシステムにインストールされます。ただし、インターネットの速度によっては、処理に時間がかかる場合があります。

次のコマンドを使用して、アプリケーションのバージョン番号を確認し、システムに実際にインストールされていることを確認できます。

 $ jpegoptim --version 

画像圧縮にJpegoptimを使用する

Jpegoptimを次のように使用できる方法で、Jpegoptimのパワーを探りましょう。

単一の画像を可逆圧縮します

品質を犠牲にすることなく単一の画像を圧縮する場合は、次のコマンドを使用します。

$ jpegoptim image_name.jpg

例:

 $ jpegoptim sample.jpg 

注: ツールは既存の画像を上書きするため、元の画像を別の場所に保存しておくことをお勧めします。

画像をさらに圧縮したい場合は、同じコマンドを再度実行できます。ただし、Jpegoptimは、最大の圧縮で可逆画質が得られる限界に達すると、圧縮のスキップを開始します。

このような状況での出力は次のようになります。

画像を別のフォルダに圧縮する

Jpegoptimが元の画像を上書きするために元の画像が失われるのではないかと心配している場合は、圧縮された画像を別のフォルダに保存するようにツールに指示できます。

まず、圧縮画像を保存するフォルダを作成します。それらを既存のフォルダに保存する場合は、新しいフォルダを作成する必要はありません。次に、次のコマンド構文を使用して圧縮を実行できます。

$ jpegoptim -d ./[destination-folder] -p [image_name] .jpg

例:

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

上記のコマンドは、sample.jpgファイルを圧縮して、「compressed」という名前の既存のフォルダーに保存します。

潜在的な圧縮を確認する

画像をどれだけ圧縮できるかを事前に確認したい場合は、Jpegoptimを使用して画像圧縮をシミュレートできます。次のコマンドは実際には画像を圧縮しません。Jpegoptimで画像を圧縮しようとした場合に画像がどれだけ圧縮されるかを示します。

次の例では、プロセスについてさらに説明します。

sample.jpgという名前のjpg画像があります。最初に、次のようにduコマンドを使用してそのサイズを印刷します。

 $ du sample.jpg 

次に、jpegoptimコマンドで-nフラグを使用して、その潜在的な圧縮について確認します。

 $ jpegoptim -n sample.jpg 

上記のようにjpegoptimコマンドを使用してサイズを再確認したところ、サイズに変化は見られませんでした。これにより、-nフラグを指定したjpegコマンドは、実際に画像を圧縮せずに、将来の圧縮率とサイズのみを表示するようになります。

品質を「低下させて」画像を圧縮する

プロセスがロスレスにならないことを知って、画像を圧縮したい場合があります。良い点は、Jpegoptimを使用すると、問題のない品質の低下を指定できることです。画像を「無駄に」圧縮する方法は2つあります。

1。 -mフラグを使用して品質係数/パーセンテージを指定する: 最大画質係数を設定します(デフォルトで有効になっているロスレス最適化モードを無効にします)。このオプションは、より高い品質設定を使用して保存されたソースファイルの品質を低下させます。一方、すでに低品質の設定が設定されているファイルは、ロスレス最適化方式を使用して圧縮されます。

圧縮率を指定する方法は次のとおりです。

 $ jpegoptim -m [percentage_in_numbers] image.jpg 

これが私の元の画像でした:

そして、これは10パーセントの品質係数でどのように見えるかです:

2。 –sizeオプションを使用して、圧縮された画像のサイズを指定します。 ファイルを特定のサイズに最適化してみてください(ロスレス最適化モードを無効にします)。ターゲットサイズはキロバイト(1 – n)で指定されます

または、元のファイルサイズのパーセンテージ(1%– 99%)として。

結果の画像のサイズをkbsで指定する方法は次のとおりです。

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

画像ファイルのバッチ最適化

Jpegoptimを使用して複数のファイルを一度に圧縮する方法はいくつかあります。

1つ目は、圧縮するすべてのファイルを1つのjpegoptimコマンドで次のように指定することです。

 $ jpegoptim file1.jpeg file2.jpg file3.jpg 

このコマンドは、指定されたすべてのファイルと新しく圧縮されたファイルを上書きします。

2番目の方法は、Jpegoptimに、同じフォルダーにあるjpgなどの特定のタイプのすべてのファイルを圧縮するように指示することです。

 $ jpegoptim * .jpg 

このコマンドがどのように機能するかを確認するために、Picturesフォルダー内のすべてのファイルを-lフラグ付きで一覧表示しました。このコマンドは、現在のフォルダにあるすべての画像の合計サイズを出力します:

 $ ls -l <​​/ pre> 

次に、同じls -lコマンドを使用して、Jpegoptimコマンドがすべてのファイルの合計サイズにどの程度の違いをもたらしたかを確認しました。次の出力で、合計バイト数の顕著な違いを確認できます。

これらはたった2つのファイルでした。このように多くのスペースを節約できます。プロセス全体の美しさは、貴重な画像の品質を妥協しないことです。もちろん、Jpegoptimでサポートされている他のファイル形式でも同じことができます。

3番目の非常に便利なオプションは、シェルスクリプトを使用して、現在のディレクトリにある単一タイプのすべてのファイルの圧縮を自動化することもできることです。その方法は次のとおりです。

現在のディレクトリ内のすべてのjpgファイルを圧縮するBashスクリプト

このセクションでは、現在のディレクトリにあるすべてのjpgを「compressed」という名前のフォルダに圧縮するシェルスクリプトを作成する方法について説明します。スクリプトはフォルダを作成しません。この名前で作成済みのフォルダに出力を保存するだけです。

まず、スクリプトを作成するDocumentsフォルダーに移動します。

$cdドキュメント

注:スクリプトは好きな場所に保存できます。保存した場所を見失わないように、すべてのスクリプトを同じフォルダーに作成することをお勧めします。個人的には、すべてのスクリプトをDocumentsフォルダーに保存することを好みます。

スクリプトを作成する

お気に入りのテキストエディタの1つで新しいスクリプトファイルを開きます。 compressAll.sh

という名前の空のスクリプトファイルを開くために、nanoエディターを使用します。
 $ nano compressAll.sh 

その空のファイルに、次のスクリプトを追加します。

#!/ bin / sh#現在のディレクトリ#にあるすべての* .jpgファイルを圧縮し、元のファイルと同じ変更日で./compressed directory#に配置します。foriin * .jpg; do jpegoptim -d ./compressed -p "$ i";完了

ヒント: スクリプト全体をbashファイルに入力する代わりに、ここからスクリプトをコピーして、Ctrl + Shift + Vを使用するか、右クリックメニューの[貼り付け]オプションを使用して、ターミナルに貼り付けることができます。

ファイルは次のようになります。

ここで、Ctrl+Xショートカットを使用してファイルを終了します。次に、「変更されたバッファを保存しますか?」にファイルを保存するように求められます。促す。 Yと入力し、Enterキーを押します。これで、スクリプトファイルが現在のフォルダに保存されます。

現在のユーザーがこのファイルを実行可能にするには、ターミナルで次のコマンドを実行します。

 $ chmod + x compressAll.sh 

スクリプトを実行するには、現在のディレクトリを、jpgを圧縮するディレクトリ(私の場合はPicturesディレクトリ)に変更します。ディレクトリに「compressed」という名前のフォルダが含まれていることを確認してください。存在しない場合は、スクリプトを実行する前に作成してください。

スクリプトを実行する

最後に、次のようにスクリプトを実行します。

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

このコマンドは、作成したフォルダーからbashスクリプトを実行します。これが、その.shファイルへのパス全体を指定する必要がある理由です。

すべての圧縮ファイルが「compressed」フォルダに書き込まれることがわかります。これは、次のコマンドで確認できます。

$ls圧縮

これはすべて、Jpegoptimユーティリティによる画像の最適化に関するものでした。詳細については、次のコマンドでマンページを確認できます。

 $ man jpegoptim 

これで、インターネットを介して画像を共有し、帯域幅とストレージの制限された場所に画像をアップロードすることは問題になりません


Ubuntu
  1. Ubuntu Xenial Xerus16.04zsyncを使用したLinuxISOイメージのダウンロード

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

  3. Dockerイメージを他の人と共有する方法

  1. RaspberryPiにUbuntu20.04をインストールします

  2. Ubuntu16.04LTSでDockerfileを使用してDockerイメージを作成する方法

  3. クイックヒント:ImageMagickを使用してコマンドラインで画像を変換する

  1. Ubuntu18.04LTSでDockerfileを使用してDockerイメージを作成する方法

  2. Ubuntu20.04LTSでDockerfileを使用してDockerイメージを作成する方法

  3. ビルド済みのDockerイメージ入門