フォルダ内のすべての画像を同じ幅に拡大縮小するにはどうすればよいですか?


97

特定のフォルダー内のすべての画像を同じ幅に拡大します(ただし、適切に拡大縮小された高さは異なります)。GUIベースまたはコマンドラインツールを使用してこれを行うにはどうすればよいですか?

ボーナスポイントの場合、最初の幅に基づいてスケーリングする画像を制限することは可能ですか(つまり、幅> xおよび/または幅<yの画像のみをスケーリングします)?


avconvはCLIを介してこれを行うことができます-参照:libav.org/avconv.html#scale-1
長老Geek

回答:


152

これはimagemagick使用すると非常に簡単です。ソフトウェアセンターにインストールできるはずです。画像のバッチ処理に推奨します。

バッチのサイズ変更は非常に簡単です(Ubuntu 11.10でテストしました)。次のコマンドを使用して、アスペクト比を維持しながら、すべての.jpgファイルのサイズを200ピクセル幅に変更します。

$ convert '*.jpg[200x]' resized%03d.png

-setオプションを使用してファイル名を維持できます。例:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

さらにファイルがある場合は、findで使用してください

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

これは、imagemagickのパワーのほんの一部に過ぎません。サイズ変更は無限に調整できます。より高度なサイズ変更を行うには、-resizeオプションを使用する必要があります。

サイズ変更を縮小に制限できます:

$ convert '*.jpg[300x>]' thumb-300-%03d.png

または拡大

$ convert '*.jpg[300x<]' thumb-300-%03d.png

その他のオプションについては、ジオメトリのドキュメントをご覧ください。


1
jpgからpngにする理由
JohnyTex

3
.jpgおよび.png拡張子は、異なる形式の使用法を示すための単なる例です。
バンディ

-setオプションの詳細については、imagemagick.org / script / command-line-options.phpを参照してください。基本的に-set <property-name> <value>、プロパティを設定します。%<one-character>そして%[<one-or-more-characters>]その値にはImageMagickによって展開されています。出力ファイル名をプログラムで決定するために使用されるプロパティは、で始まる必要があるfilename:ためbase、画像パスを含むプロパティをプロパティにコピーする必要がありfilename:<something>ます。
-marcotama

1
このトリックを共有してくれてありがとう、私は知りませんでした!
-marcotama

2
不明な画像プロパティ "%[base]"
ポストセルフ

32

GUIの場合、Phatchは「ワンクリックで何千枚もの写真を撮る価値があります」が、このような迅速な作業に最適です。すでにUbuntuリポジトリにあります。

sudo apt-get install phatch
  1. スケールを追加してアイテムを保存
  2. スケール/サイズ変更オプションを設定する
  3. 保存/出力オプションを設定する
  4. 走る
  5. 入力フォルダーを設定する
  6. 実行するバッチをクリックします

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


2
賛成票の場合、質問のタスクを実際に達成する方法の例は素晴らしいでしょう:)しかし、ヒント、素敵なツールに感謝します!
ジェイウィンク14

2
これは私のマシンでは動作しませんでした(Ubuntu Mate 16.04)。アプリが起動画面で
止まっていた

1
@GunithDevasurendra、コマンドラインから試してエラーを確認してください。解決できなかった場合は、別の質問を書いてその出力を含めてください。
user.dz

1
素晴らしいツールです。何年も使用していました。残念ながら、メンテナンスされておらず、現在のUbuntuバージョンでは機能しません。誰かがそれを修正するためにコードを分岐できることを願っています。
ディエゴV

Fedoraでは上記と同じではなく、そのような機能はありません
Vlad

29

これを試して:

sudo apt-get install gimp-plugin-registry

次に、Gimpを開き、にあるバッチプラグインを開きますFilters > Batch > Batch Process

Inputタブで画像を選択し、驚くほど名前が付けられたResizeタブでサイズ変更操作を定義します。

詳細については、こちらをご覧ください


21

mogrifyImageMagickツールからコマンドを試してください。

  • 出力をオリジナルから分離するパスを与える
  • 幅の例の下に、目的のサムネイルの幅または高さを指定します
  • この方法で、元のファイル名を保持します:-)

例:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg

1
これは私の意見では最高の答えです!
トム

2
$ mogrify -path small / -resize 300x * .jpg
Malai

:+1、それは肖像画や風景のためだかどうか、あなたが最も長い辺のサイズを変更することができますが、画像回転stackoverflow.com/a/5694903/227926
therobyouknow

9

これは、大きな画像のみ縮小してどのように実行したかです。

find . -iname \*.jpg -exec convert -verbose -quality 80 -resize 1600\> "{}" "FOO_FOLDER/{}" \;

高さを適切にスケーリングします。

convertコマンドを使用するには、を介してImagemagickをインストールする必要がありますsudo apt-get install imagemagick

Windowsの場合、「画像のサイズを変更するバッチスクリプト」を参照してください。


8

答えられて受け入れられました(そしてImageMagickを使用します)が、完全を期すために...私はいくつかの基本的なツールを備えたシンプルなビューアを望んでいて、GUIである必要がある非技術的な上司がいます。私は彼のためにgThumbを決めました。

サムネイルビューで...

  • サイズを変更する画像を選択します
  • サイズ変更機能を開始します(レンチアイコン> [画像のサイズ変更]をクリックします)。
  • ピクセルまたはパーセンテージに基づいて新しいサイズを入れる
  • 出力フォルダーを選択すると、すぐに使用できます。

サイズを変更するためには、16.04に修正されるまで、Patchの適切な代替手段です。
ヘイスティグズサメンステルレン

3

バッチイメージのサイズ変更については、多くのパッケージを見て、最終的に使用可能なインターフェイスを備えたパッケージconverseenを見つけました。スクロール可能な左ペインに重要な設定がいくらか隠されていることがわかったら、すべてうまくいきます。
これがすべてのOPユースケースを満たしているかどうかはわかりませんが、imagemagickまたはphatchの風変わりなUIを調べる必要はないかもしれません。
奇妙なことに、digikam、f-spot、fotoxx、shotwellなどの写真管理パッケージは、photobucketや(gag)flickrなどのオンラインサービスにアップロードする前に、画像のバッチをコピー/サイズ変更する必要性を認識していないようです。これらのサービスは、私たちが自分たちのやり方でやりたいと思っているので、オリジナルをバックアップするために私はそれらを信用していません。

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