800x5000サイズの大きな画像があるとしましょう。コマンドラインを使用して800×1000サイズの別々の画像を5つに分割するにはどうすればよいですか?
答え1
それを使って解決ImageMagick変換-ジオメトリの切り抜き+再ページ:
convert -crop 100%x20% +repage image.png image.png
答え2
ImageMagickの使用:
$ convert -crop 800x1000 image.png cropped_%d.png
などのcropped_1.png
名前の一連のファイルが生成されます。cropped_2.png
引用する
答え3
「タイル」機能を使用してください:
convert image.png -crop 1x5@ out-%d.png
答え4
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")
上記のコードには最終寸法がハードコーディングされていますが、すべての入力がパラメータ化され、独自の完全スクリプトに簡単に変換できます。誰でもこのようなものが必要な場合。