800x5000 크기의 큰 이미지가 있다고 가정해 보겠습니다. 명령줄을 사용하여 800x1000 크기의 별도 이미지 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")
위의 코드에는 최종 치수가 하드 코딩되어 있지만 모든 입력이 매개변수화되어 자체 완전한 스크립트로 쉽게 변환될 수 있습니다. 누구든지 이런 것이 필요하다면.