Powiedzmy, że mam duży obraz 800 x 5000; jak podzieliłbym to na 5 osobnych obrazów o wymiarach 800 x 1000 za pomocą wiersza polecenia?
19
Powiedzmy, że mam duży obraz 800 x 5000; jak podzieliłbym to na 5 osobnych obrazów o wymiarach 800 x 1000 za pomocą wiersza polecenia?
Odpowiedzi:
Rozwiązano go za pomocą konwersji geometrii przycięcia + repage:
źródło
ls -1 *.png | sed 's,.*,& &,' | xargs -n 2 convert -crop 100%x20% +repage
Korzystanie z ImageMagick:
Będą tworzyć sekwencję plików o nazwach
cropped_1.png
,cropped_2.png
i tak dalej.Bibliografia
źródło
convert -crop geometry +repage
. Na przykład:convert -crop 100%x20% +repage image.png image.png
.+repage
uwagi dotyczące: formaty zdolne do kompensacji obrazu itp.ImageMagick zawalił się na mnie, ponieważ obraz był zbyt duży, aby go obsłużyć, więc musiałem skorzystać z innych metod.
Skończyło się na użyciu biblioteki obrazów Python.
Szybka i brudna odpowiedź na pytanie PO jest następująca:
Powyższy kod ma ostateczne rozmiary zakodowane na stałe, ale można go łatwo przekształcić we własny skrypt pełnego rozdmuchu ze sparametryzowanymi wszystkimi danymi wejściowymi. Jeśli ktoś czegoś potrzebuje.
źródło