JPEG最適化のためのツール?[閉まっている]


114

ビルド環境に統合できるJPEGを自動的かつ可逆的に最適化するためのツール(できればコマンドライン)を知っていますか?PNGの場合、私は現在PNGOUTを使用しており、通常、帯域幅/画像サイズを約40%節約します。

少なくとも、JPGからメタデータを取り除くことができるツールが欲しいのですが、写真からサムネイルを作成しようとして、34 kBより小さくできないという奇妙なケースに気付きました。さらに調査したところ、EXIFデータはまだ画像の一部であり、メタデータを削除した後のサムネイルは3 kBであることがわかりました。

そしてそれ以上に-JPGをロスレスでさらに最適化することは可能ですか?PNGオプティマイザは、さまざまな圧縮戦略、ハフマンエンコーディングのランダムな初期化などを試みます。

ほとんどの節約はJPEGの品質パラメーターによるものであり、それはかなり主観的な尺度であることを認識しています。私は、ビルドステップとして実行でき、画像から数バイトをロスレスで圧縮するツールを探しています。


EXIFが削除される前に、最適化されたJPGに約10KB相当のEXIFがあったと言いますか?!?!?!何が入ってるんだろう!
netrox 2009

これは、デジタル写真のEXIFブロック全体であり、この写真に関するすべての細部(露出、シャッター時間など)を
含み

@netrox chris166これらの詳細はあまりスペースを取りません。スペースを多く取るのはプレビュー(バイナリデータ)です。
アリエル

1
以下にリストされているユーティリティをリストする2つの興味深い比較記事:JPEGロスレス圧縮ツールの比較、2014年6月JPEG最適化ツールのベンチマーク、2013年2月
dma_k 2016年

@Ariel:ICCプロファイルも大きなスペースを取る傾向があります。500KBを超えるICCプロファイルのバイナリデータを確認しました。
saurabheights 2016

回答:


68

ロスレス操作にはlibjpegを使用します。これには、必要なすべてを実行できるコマンドラインツールjpegtranが含まれています。コマンドラインオプションを使用-copy noneすると、すべてのメタデータが削除され、-optimizeハフマン圧縮のロスレス最適化が実行されます。を使用して画像をプログレッシブモードに変換することもできますが-progressive、互換性の問題が発生する可能性があります(それについて誰か知っていますか?)


5
うわー、それは有望に聞こえます。興味のある方は、Windows用のダウンロードはgnuwin32.sourceforge.net/packages/jpeg.htmにあります
chris166

私はこれに行きます。プログレッシブモードで背景画像を62 kBから49 kBに減らします。別の画像(27 kB)は23 kBに縮小されました。これは、品質を損なうことなく15〜20%の節約になります。
chris166 2009年

2
プログレッシブは基本的にすべてで問題なく動作しますが、唯一の欠点は、デコードに多くのCPUを使用することです(問題になるほど十分ではありません)。
アリエル

1
9K未満のファイルでは、プログレッシブがベースラインより大きくなることがよくあります
Collin Anderson

3
プログレッシブは、デコードするためにより多くのメモリを必要とします。通常のjpegをストリーミングできます。小さなセクションでデコードするだけで済みます。プログレッシブjpgをデコードするには、解凍された画像全体を一度にメモリに保持する必要があります。
jcupitt 2013年

72

私が書いた私は見つけることができるすべての画像最適化ツールのGUIを含む、MozJPEGjpegoptimその最適化ハフマンテーブルを、プログレッシブスキャン、および(任意で)目に見えないメタデータを削除します。

イメージ最適化

Macをお持ちでない場合は、どのプラットフォームでも機能する基本的なWebインターフェースも用意しています。


5
優れた!あなた、サー、Flattrボタンが必要です。またはGittipに参加します。
ティロ

2
ImageOptimとImageAlphaは素晴らしいです!
Jon z

素晴らしいツール-マイナーな提案。JPEGoptimを80%の品質に制限する理由-大きな背景画像は、多くの場合60%以下にしたいと思うでしょう。thx
niico 2014

EXIFデータを削除する理由 :/
Adrien Be

@AdrienBe 1.プライバシー。あなたはネット上の誰もがあなたのGPS位置を知っていることを望んでいないかもしれません。2. Photoshopから保存されたファイルには、メガバイトのXMLガベージがファイルに埋め込まれている可能性があるためです。
Kornel 2017

12

[Windowsのみ]

RIOT(Radical Image Optimization Tool)これは私が見つけた最大の画像最適化ツールです!

http://luci.criosweb.ro/riot/

サブサンプリングにより、10MBの画像を800KBまで簡単に取得できます。PNG、GIF、JPEGをサポートしています。コンテキストメニューにも統合できるので、写真を直接送信できます。回転、サイズ変更、指定したKBへの圧縮などを行うことができます。GIMPやIrfanViewなどのプラグインもあります。

独自のプログラムまたはjavaスクリプト/ c ++プログラムに組み込む場合は、DLLも利用できます。

別の方法はhttp://pnggauntlet.com/です。PNGGAUNTLETは永遠にかかりますが、かなりうまくいきます。

[Windowsのみ]


7
警告: RIOTは見た目は良いですが、確認せずにTuneUpとたわごとをインストールします。私はこれをマルウェアと分類します。
ダニエルW.

1
@DanFromGermanyは正しいです。ここのレビューを見る:download.cnet.com/RIOT/3000-12511_4-10911908.html#summaryList
RNickMcCandless

1
それは最近までなかった。
2014

マルウェア警告!ChromeダウンロードマネージャーがRIOTがマルウェアであることを警告
ruhong

8
参考:RIOTには、マルウェアやインストーラーを含まないポータブル.zipファイルがあります。ダウンロードページを下にスクロールしてください。luci.criosweb.ro/riot/download
Goyuix

12

JPEGminiと呼ばれる新しいサービスは驚くべき結果を生み出します。それがオンラインのみであることは残念です。 編集:WindowsとMacで利用可能になりました


Macアプリが利用可能になりました(公開:私は開発チームにいます)
DanJ

4
あなたが作者かどうかはわかりませんが、そのアプリはユーザーを誤解させるものです。「ミニ」画像でjpegquality.cを実行して圧縮量を検出し、次にimagemagickで同じ品質で元の画像を圧縮する=>両方の画像で同じ結果、同じJPEGアーティファクトが得られます。Imagemagickはオープンソースの可能性がありますが、それを使用しても問題はなく、新しい圧縮技術を開発したと主張することはできません
素晴らしいお尻

@onetrickpony:私はそれらとは何の関係もありません。
Eduardo Molteni 14年

@niceass JPEGminiがImageMagickコードを使用していることをどのようにして知っていますか?品質係数がIMからの出力と同じであることを知ることは証明ではありません。私の推測では、おそらく少しのフィルタリングで品質係数を下げて画像を再圧縮し、品質メトリックを使用して停止するタイミングを決定しています。
koan

以前にImageMagickからエクスポートした画像で最新のJPEGminiを実行しましたが、JPEGminiが既に実行されていることが報告されました-覚えていません。同じイメージに対してjpegtran -optimize -copy noneを実行すると、サイズが12 KB縮小されます。
koan

10

上記の提案のいくつかを試してみました-私は個人的にロスレス圧縮の後でした。

サンプル画像の元のサイズは67,737バイトでした。

kraken.ioを使用すると、64,718に減少しましたjpegtranを使用すると、64,718に減少しましたyahoo smush-itを使用すると、61,746に減少しましたimagemagick(-strip)を使用すると、65,312に減少しました

smush.pyオプションは有望に見えますが、インストールが複雑すぎてすぐに実行できませんでした

jpegrescanも有望に見えますが、UNIXのようでWindowsを使用しています

jpegminiはロスレスではありませんが、違いはわかりません(22,172まで)

plinthのAltrasoft jpegstripperアプリがWindows 7で機能しない

jpegoptimはWindowsではありません-私にはよくありません

Riot(品質を100%に維持)は63,416に、クロマサブサンプリングを高に設定すると61,912に下がりました-それがロスレスかどうかはわかりませんが、オリジナルよりも軽く見えると思います。

だからそれがロスレスでなければならない場合、私の評決はヤフー・スムシットです


頑固であれば、jpegrescanはWindowsで動作します。マジックのようなサイズ(5-15%で品質を損なうことなく)を削ります。これはAFAIKのプログレッシブスキャンの順序を並べ替えるだけなので驚くべきものです(他のプログラムでも同じで、Photoshopではファイルがわずかに小さくなることがあります)明確な理由なしに別のスキャン数を選択した場合)。また、x264を作った人の1人によって作られました。彼は圧縮の分野で非常に天才です。
Camilo Martin


7

ImageOptimは本当に滑らかです。作成者が投稿したコマンドラインオプションは、GUIに入力され、進行状況を表示します。最適化とプログレッシブへの変換にはjpegtranを使用し、さらにプログレッシブ最適化とその他のファイルタイプにはImageOptimを使用しました。

このフォーラムでもスクリプトコードの再利用(すべてのファイルが置き換えられています):

jpegtran

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do
    echo found $file for optimizing...
    jpegtran -copy comments -optimize -progressive -outfile $file $file
done

ImageOptim

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do
do
    echo found $file for optimizing...
    open -a ImageOptim.app $file
done

4

誰かが探している場合に備えて、YahooのSmush.itのオフラインバージョンを作成しました。png、jpg、gif(アニメーションと静的)を無損失で最適化します。

http://github.com/thebeansgroup/smush.py


正常に動作しますが、png圧縮に問題があります:(

4

jpegoptimを使用すると、デフォルトで可逆的にjpegファイルを最適化できます。この--strip-allオプションは、すべての余分な埋め込み情報を削除します。--maxスイッチを使用して非可逆モードを指定することもできます。これは、非常に高品質の設定で画像を保存する場合などに役立ちます。Webコンテンツ。

jpegtranと同様の最適化が得られますが(OutOfMemoryによる回答を参照)、jpegoptimはプログレッシブjpegに保存できません。


4

外部プログラムを使用してJPEG、PNG、GIFS、アニメーションGIFS、さらにはコミックアーカイブコンテンツ(CBR / CBZ)を最適化する、 'picopt'(ImageOptimに類似)と呼ばれるコマンドラインツールを作成しました。

これは、jpegrescan、jpegtran、optipng、gifsicleなどのツールがインストールされているOS XまたはLinuxシステムのHomebrewでの使用に適しています。

https://github.com/ajslater/picopt


これのWindowsバージョンはありますか?
starbeamrainbowlabs 2015

posixの依存関係をcygwinのようなWindows環境にインストールできる場合は、その可能性があります。しかし、あなたはそれを最初にテストするでしょう。
AJスレーター

3

私もImageMagickをお勧めします。EXIFメタデータを削除するコマンドラインオプションがあります。

mogrify -strip image.jpg

同じことを行うツールは他にもたくさんあります。

JPEGの再圧縮に関する限り、行わないでください。JPEGはそもそも損失が多いため、どのような形式の再圧縮でも画質を損なうだけです。ただし、ロスレスでエンコードされた画像がある場合、一部のエンコーダーは他のエンコーダーよりも適切に機能します。複雑な理由により、Photoshopで作成されたJPEGは、ImageMagickでエンコードされた場合(同じファイルサイズにもかかわらず)よりも一貫して見栄えがよいことに気付きました。さらに(そしてこれはあなたに関係しています)、少なくともPhotoshopはJPEGを最適化して保存できることを知っています。つまり、数KBを保存する必要がないと思われるものとの互換性が失われます。また、カラープロファイルが埋め込まれていないことを確認してください。別のKBを保存できる場合があります。


面白い。90%の品質はすべての画像ツールで同じだといつも思っていました。Photoshopは、最適化されたDCT係数を使用する唯一のツールですか?
chris166 2009年

1
でも、PhotoshopとImagemagickで同じ画像を保存しようとするまで、さまざまなツールで90%は同じになるでしょう。PhotoshopのSave for Webで約70%がImagemagickの92%とほぼ同じサイズのファイルを作成したことがわかりましたが、Photoshopファイルは著しく品質が優れていました。他のツールがそれをどのように行うのか私にはわかりません。
David Johnstone、

ImageMagickのPHPバージョンを使用してEXIFメタデータストリッピングを実行する方法を知っていますか?
Sonny

@Sonnyそうでもないが、あなたはこの機能に興味があるかもしれない:php.net/manual/en/function.imagick-stripimage.php
デヴィッド・ジョンストン

デビッドに感謝します、それが私が最終的に見つけたものです。これが私のスレッドです:stackoverflow.com/questions/2540068
Sonny

2

私はhttp://kraken.ioを使用することをお勧めします。これは、smush.itよりもはるかに優れてPNGおよびJPEGファイルを最適化する超高速のWebアプリケーションです。


2

私はJpegOptimを使用することをお勧めします。それは無料で本当に素晴らしいです、あなたはあなたが望む品質、あなたが望むサイズを指定することができます...そしてコマンドラインで使いやすいです。

JpegOptim


1

透明度に近づけるためにこれをお勧めします:

convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg

これは、使用してImageMagickののをconvertしてjpeg-recompressからJPEG-アーカイブ

どちらもオープンソースで、Windows、Mac、Linuxで動作します。さまざまな品質の期待に応じて、上記のオプションを微調整したい場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.