画像から境界線/空白を切り取る方法は?


52

周囲に白い境界線がある画像がたくさんあります。できればコマンドラインからこれらの境界線を一度に切り取りたいと思います。ImageMagickでできると信じていますが、適切なコマンドが見つかりませんでした。

Irfanviewという名前のWindowsプログラムで「自動トリミング枠」オプションを使用して実行できることは知っていますが、Ubuntuベースのコマンドラインベースのソリューションを探しています。


Gimpを試しましたか?
ミッチ

1
@Mitchいいえ、Gimpにバッチモードがあることは知りませんでした。とにかく、ImageMagick Trimを使用する方が簡単なので、そのソリューションを使い続けます。
ラファル

デュープは一般的にGUIソリューションを提案します
...-Wilf

回答:


65

ImageMagickトリム

trimと共に使用するコマンドラインオプションconvert。またはmogrify、画像の角と同じ色の境界線をトリミングします。

使用法:

convert input.png -trim output.png

追加オプション-fuzzは、角の色の近くの色も削除します。オプション+repageを使用して、キャンバスを削除します(該当する場合)。

ImageMagickバッチトリム(検索)

ImageMagick Trimの上記のコマンドは、findコマンドと組み合わせて画像をバッチ処理するためにも使用できます。

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

patternコマンドの一部に適合するすべての画像をトリミングし、という名前の新しいフォルダに保存しますoutputfolder

画像がPNGであると仮定すると、コマンドは次のようになります。

find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;

ImageMagickバッチトリム(mogrify)

一方でfind、出力ファイルが置かれるはるかに大きい制御を可能にし、ImageMagickののと同じことを行うことも可能ですmogrify

mogrify -trim *.png

とは異なりconvert、バッチ操作findconvert mogrifyはすべてのファイルを上書きすることに注意してください。mogrifyコマンドを実行する前に、ディレクトリ内のすべてのイメージのバックアップコピー作成することをお勧めします。

サイドノート:元のファイルを上書きしながら、mogrifyほとんどではないがすべてのconvert操作をバッチで実行するために使用できます。

IrfanView

IrfanViewはWineで非常にうまく動作します。Irfanviewの出力を注意深く確認してください。Wineで使用すると画像が壊れることがあります。


できます。どうもありがとうございました。findコマンドを組み合わせたときにImageMagickで画像をバッチ処理することに関する情報が追加されました。
ラファル2013

9
私が使用しmogrify -trim *.jpg、現在のフォルダ内のすべての画像をトリミングします。
バトルビュートス14

1
これは素晴らしい。それは私に多くの時間を節約しました。TX :)
antmw1361 14年

@ButtleButkus回答を編集して、その情報を含めました。何らかの理由で、私は以前このオプションを忘れていました。
ラファル

1
幅を固定したまま、高さに沿ってPNG画像をトリミングする方法はありますか?
ddas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.