800x5000の大きな画像があるとします。コマンドラインを使用して、800x1000のサイズの5つの画像に分割するにはどうすればよいですか。
Convert -crop geometry + repageを使用して解決:
convert -crop 100%x20% +repage image.png image.png
ImageMagickの使用:
$ convert -crop 800x1000 image.png cropped_%d.png
cropped_1.png
、cropped_2.png
などの一連のファイルを作成します。
ImageMagickは、イメージが大きすぎて処理できないため、クラッシュします。そのため、他の方法を使用する必要がありました。
最終的にPython画像ライブラリを使用しました。
OPの質問に対する素早い回答は次のとおりです。
from PIL import Image
im = Image.open("YourImage.yourformat")
for h in range(0, im.height, 1000):
nim = im.crop((0, h, im.width-1, min(im.height, h+1000)-1))
nim.save("PartialImage." + str(h) + ".yourformat")
上記のコードは最終的なサイズがハードコーディングされていますが、すべての入力がパラメーター化された独自の完全なブロースクリプトに簡単に変換できます。そんなものが必要なら。