Mam wiele zdjęć z białymi obwódkami wokół nich. Chciałbym przyciąć te granice naraz, najlepiej z linii poleceń. Wierzę, że można to zrobić za pomocą ImageMagick, ale nie mogłem znaleźć odpowiedniego polecenia.
Wiem, że można tego dokonać za pomocą programu Windows o nazwie Irfanview z opcją „Automatyczne przycinanie granic”, ale szukam rozwiązania opartego na Ubuntu i najlepiej z wiersza poleceń.
Odpowiedzi:
ImageMagick Trim
Opcja wiersza poleceń
trim
używana razem zconvert
lubmogrify
pozwala przycinać ramki tego samego koloru co rogi obrazu.Stosowanie:
Dodatkowe opcje
-fuzz
usuwają również kolory w pobliżu kolorów narożnych. Użyj opcji,+repage
aby usunąć płótno (jeśli dotyczy).ImageMagick Batch Trim (znajdź)
Powyższe polecenie dla ImageMagick Trim może być również użyte do przetwarzania wsadowego obrazów w połączeniu z
find
poleceniem:find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;
przycina wszystkie obrazy, które pasują do
pattern
części polecenia i zapisuje je w nowym folderze o nazwieoutputfolder
.Zakładając, że obrazy są plikami PNG, polecenie będzie wyglądać następująco:
find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;
ImageMagick Batch Trim (mogrify)
Chociaż
find
pozwala na znacznie większą kontrolę nad tym, gdzie będą umieszczane pliki wyjściowe, możliwe jest również to samo z ImageMagickmogrify
:mogrify -trim *.png
Należy pamiętać, że w przeciwieństwie do
convert
operacji wsadowejfind
iconvert
mogrify nadpisuje wszystkie pliki . Najlepiej wykonać kopię zapasową wszystkich obrazów w katalogu przed kontynuowaniem polecenia mogrify.Uwaga dodatkowa:
mogrify
może być używana do wykonywania większości (jeśli nie wszystkich)convert
operacji wsadowych, podczas zastępowania oryginalnych plików.IrfanView
IrfanView działa całkiem dobrze z Wine . Pamiętaj, aby dokładnie sprawdzić wydajność Irfanview, ponieważ czasami psuje obrazy, gdy jest używany z Wine.
źródło
find
polecenia, ponieważ brakowało w twojej odpowiedzi.mogrify -trim *.jpg
kadrowałem wszystkie obrazy w bieżącym folderze.