ImageMagick変換のサンプル/リサンプル/スケール/サイズ変更/適応サイズ変更/サムネイル演算子の違いは何ですか?


84

私は以下を使用して画像の解像度を変更する複数の方法を見つけましたconvert

-sample
-resample
-scale
-resize
-adaptive-resize
-thumbnail

それらの違いは何ですか?

アスペクト比が固定されたさまざまなサイズの大きな画像のサムネイルを作成する必要がある場合(トリミングが必要)-私の最良の選択は何ですか?



さらに多くの情報については、imagemagick.org/Usage/filterimagemagick.org/Usage/filter/nicolas
fmw42

回答:


136

サイズ変更

-resize 400x300+20+30(以下の-scaleおよび-sample例のように)入力を、ピクセル寸法が400x300。の出力画像に変換します。また、出力を右に20ピクセル、下に30ピクセルシフトします。さらに、以下にはさらにいくつかの違いがあり-scaleます。

  • -resize-filter(!を使用する前にコマンドラインで実行する必要があります)の追加設定をサポートし-resizeます。

  • -filter 拡大の場合は追加されたピクセルの色に使用される正確なアルゴリズムを決定し、縮小の場合は隣接するピクセルの一部が削除されたときに残りのピクセルに使用される色を決定します。

  • サポートされているフィルターのリストについては、を実行するだけconvert -list filterです。

  • -filter point -resize 400x300とまったく同じ結果が生成されます-sample 400x300が、実行速度は少し遅くなります。

  • (前に)一緒に設定されていない場合-resize、変換はサイレントにデフォルト-filter Lanczosで遅くなりますが、生成される-filter point最も近いものを使用する)よりもはるかに優れた品質が生成されます(新しく追加されたピクセルの周囲のすべてのピクセルの色が考慮されるため)新しく追加されたピクセルの色を決定するための隣接ルール)。

サンプル

-sample 400x300入力画像をのピクセル寸法を持つ出力画像に変換します400x300。ただし、次の点にはいくつかの非常に重要な違いがあり-resizeます。

  • -sample-filter;の追加設定はサポートしていません。とにかく設定されている場合-filterは、単に無視されます。

  • 拡大する場合(入力画像のサイズがよりも小さい場合があるため400x300)、ピクセルはブロックで複製されます。

  • 縮小する場合(入力画像サイズがより大きくなる可能性があるため400x300)、ピクセルは非常に単純なアルゴリズムでサブサンプリングされます。一部の行と列は単純にスキップされます。

  • へのgeometry引数は、オフセット部分を-sampleサポートしていません(出力のオフセットディレクティブを尊重するとは異なります)。-resize

  • 出力には、入力画像よりも多くの(異なる)色が含まれることはありません。ただし、色が少ない場合があります。

  • したがって-sample、非常に高速(より高速-resize)ですが、出力品質は(通常)悪化します。結果の出力で極端なブロッキングおよびエイリアシング効果を簡単に得ることができます。

  • の重要な機能の1つ-sampleは、元の画像の一部の色が消える場合でも、新しい画像に新しい色が含まれないことです。

リサンプル

-resampleターゲット画像のピクセルジオメトリではなく、目的のXxY 解像度をパラメータとして使用します。この演算子の目的は、画像のレンダリングサイズを保持することです。300DPIでレンダリングするデバイスで、画像のサイズが4インチx3インチであると想定します。次に、またはを要求すると、72 DPIデバイスで(再び)4インチx3インチになるように画像のサイズが変更されます。XxY-resample 72-resample 72x72

  • この操作は、メタデータにすでに目的の解像度が保存されている画像に対してのみ機能します(すべての画像形式が画像解像度の概念をサポートしているわけではありません-JPEG、PNG、TIFFがサポートしています)。

  • ソース画像が画像解像度の内部サポートが欠落している形式である場合、画像の(想定される)元の解像度は、解像度を指定する-densityコマンドラインで指定する必要があります。-resample

規模

-scale 400x300を使用する場合と同等の結果を生成します(ただし、すべてのフィルター処理を回避するため、より高速です)-filter box -resize 400x300。また、現在の-filter設定を完全に無視します。

  • 縮小すると、それぞれの入力ピクセルの色を平均してピクセルの色を置き換えるだけで画像サイズが変更されます。

  • 拡大するときは、必要な追加ピクセルのそれぞれの入力ピクセルを単純に複製します。

アダプティブサイズ変更

-adaptive-resize 400x300ジオメトリパラメータのオフセット部分をサポートしていません(または設定されている場合は無視します)。また、存在する場合は設定を無視します。-gravity

  • サイズ変更時にデフォルトでデータ依存の三角測量を使用します(サイズ変更メソッドが追加で指定してオーバーライドされない限り-filter [something])。

サムネイル

-thumbnail-resizeいくつかの違いはありますが、同じように機能します。

  • 速度が最適化されています。

  • また、埋め込まれたカラープロファイルを削除して、サムネイルのファイルサイズを縮小します。


次の回答は、-resizeディレクティブのいくつかの(図解された!)例を示しています。各図は、正確なサイズ変更方法の「詳細」に応じて、異なる結果を示しています。


4
おかげで、それはImageMagickのドキュメントよりもはるかに理にかなっています。
Paul Brannan 2015

サンプル画像があれば、これはさらに完璧です:-)
CiroSantilli郝海东冠状病六四天法轮功2016年

@KurtPfeifle:まず、非常に有益な回答をありがとうございます。Imagemagickの良い本やドキュメントのPDFを提案してください。私が今持っている最善のアプローチは、Imagemagickのすべてのページを削って読み取り時間を短縮することですが、それは多くの情報です(私の意見では、必ずしも十分に説明的ではありません)。どんな助けでも大歓迎です。
saurabheights 2017年

5

Ciro Santilli新疆改造中心六四事件法轮功が言ったように:

サンプル画像があれば、これはさらに完璧です:-)

-サイズ変更

google play with -resize (8.0 kB)

-サンプル

-サンプル (2.2kB)

-規模

-規模 (7.0 kB)

-適応-サイズ変更

ここに画像の説明を入力してください (4.3 kB)

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