imagemagick または graphicsmagick を使用してスキャンした画像を自動的にトリミングするにはどうすればよいですか?

imagemagick または graphicsmagick を使用してスキャンした画像を自動的にトリミングするにはどうすればよいですか?

スキャンした画像が *.jpg 形式でいくつかあります。これらは A4 スキャナーを使用して、グレースケールまたはカラーでスキャンされています。スキャンしたページは、A5、A6、名刺など、サイズがかなり異なります。スキャナーのカバーは白です。

imagemagick または graphicsmagick (これらのツールは、さらにバッチ処理したいので) を使用して、すべての白い境界線をトリミングします。境界線はスキャンされるため、完全に白くはなく、そのため、画像がトリミングされすぎたり、トリミングされすぎたりすることがあることは理解しています。ただし、トリム パラメータを fuzz で使用すると、常に画像が大きくなりすぎます。たとえば、以下の名刺の画像を使用します。

gm.exe convert -crop -fuzz 50% 01-pixelated.jpg 01-pixelated-gm.jpg

右と下が切り取られていない画像を生成します。-fuzz パラメータにどの数値を指定しても結果は同じです。

それをテストして、目的を達成するコマンドラインを教えていただけますか?

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

答え1

ImageMagick で次のコマンドを試してください:

convert input.jpg -fuzz 80% -trim +repage output.jpg

ImageMagick 6.4.4 Q16 でテストしたところ、リンクされた画像から次の出力画像が得られました。

出力

関連情報