2011-01-31 17 views
2

LibJPEGを使用してJPEG圧縮画像を読み込みます。変更されていない画像の現在の圧縮率を得る方法はありますか?画像の圧縮率を取得

+0

圧縮率では、BMPファイルに対してファイルサイズを意味しますか? – Argote

+0

oh sry私はJPEGを読み込むのを忘れていました。 JPEGの圧縮率があります。私はそれを知りたい。 –

+0

元のビットマップはありますか?単に 'jpegSize/bmpSize'を実行してください。そうでない場合は、比率を知ることができません。私は使用されているjpeg圧縮レベルのためのいくつかのメタデータタグがあると信じていますが、ソース画像ファイルのサイズを示すものは何もありません。 – tenfour

答えて

7

エンコードの品質を意味しますか?通常は0〜100ですか?

これは保存されていません。波の正確さのイメージエンコードのガイドとして使用され、破棄されます。 JFIFヘッダ構造のいずれにもフィールドはありません。私が見る限り、この数字がエンコーダー間で何を意味するのかについての正式な定義はないため、特定の数字の効果を正確には決定できません。

+0

ありがとう!これは私が知りたかったものでした;) –

+0

数字の意味が分からないこともあります.0は本当に良いですが、0は本当に悪いです。 –

+0

@Rup画像に保存されているJPEG量子化テーブルを調べることで、おおよその "符号化品質"を判断することは実際可能ですが、これはデジタル画像のフォレンジックの領域に入ります。 –

3

PhotoshopがJPEGを保存する場合、圧縮レベルはどこかに保存する必要があります。私は何年にも渡って、どの圧縮レベルが使用されたかを検出する方法として、Photoshopの名前を付けて保存をファイルに使用してきました。私の経験では、常に現在のファイルで使用されているものと同等の圧縮レベルを示唆しています。実際に保存する必要はありません。明らかに、この方法はたくさんのファイルには良いことではありませんが、どこかに格納しなければならないという証拠です。

+0

今日、私は 'exiftool'を使ってJPEGのメタデータを検査していましたが、これはファイルに埋め込まれていました:" PhotoshopQuality = 4 "そう、はい、PhotoshopはJPEGファイルの品質という独自の概念を非標準ヘッダーに格納しています。 –

0

、あなたは例えばImageMagickの-6.7.5.6

から-verboseを識別し使用することができ

相対的なファイルサイズを意味しない圧縮比場合:

identify -verbose 1.jpg 
(...) 
    Geometry: 607x800+0+0 
    Resolution: 72x72 
(...) 
    Filesize: 143KB 
    Number pixels: 486K 

良い

identify -verbose 2.jpg 
    (...) 
    Geometry: 1719x2377+0+0 
    Resolution: 100x100 
    (...) 
    Filesize: 408KB 
    Number pixels: 4.086M 

不良

このテーマについて
convert 2.jpg -resample 72x72 2c.jpg 
identify -verbose 2c.jpg 
    Geometry: 1238x1711+0+0 
    Resolution: 72x72 

    Filesize: 272KB 
    Number pixels: 2.118M 

はるかに優れて

http://www.imagemagick.org/script/command-line-options.php?#densityトークや「-resampleオプションを使用し、それは異なる解像度で同じ大きさになるように画像のサイズを変更するには」と

を終え、私も見つけツールを使用して "jpeg品質係数"を変更します。 Jpegoptim - jpegファイルを最適化するユーティリティ。ハフマンテーブルを最適化することに基づくロスレス最適化と、最大品質係数の設定に基づく「ロッシー」最適化を提供します。 http://www.kokkonen.net/tjko/projects.html

希望のものがあります。