Jaki jest dobry program do zmiany wielkości partii 100 000 obrazów jpg?

21

Program powinien działać w trybie wsadowym, aby zmieniać rozmiar wszystkich plików w folderze, a następnie zapisywać nowe pliki w innym folderze. Świetna byłaby również opcja ustawienia jakości jpg.

uwe
źródło
2
Połączenie find i ImageMagic.
mspasov

Odpowiedzi:

30

Jestem trochę zaskoczony, że nikt nie wspomniał o najłatwiejszej, najtańszej i najmniej technicznej opcji:

Automator

Najpierw otwórz Automator, który znajduje się w folderze Aplikacje.

Następnie wybierz, aby utworzyć nowy przepływ pracy:

Utwórz przepływ pracy automatyzatora

Następnie dodaj następujące kroki do przepływu pracy, przeciągając i upuszczając:

kroki przepływu pracy

Po uruchomieniu tego Automator zamierza:

  1. wyskoczy okno z prośbą o wybranie niektórych plików (tyle, ile chcesz)
  2. wyskoczy kolejne okno z pytaniem, gdzie chcesz zapisać kopie o zmienionym rozmiarze
  3. zapytaj, jak duże mają być kopie o zmienionym rozmiarze. Będziesz mógł wybrać stały rozmiar lub procent. Wszystkie obrazy zostaną przeskalowane do tego rozmiaru lub o ten procent.

(Pole wyboru „pokaż tę akcję po uruchomieniu przepływu pracy” oznacza, że ​​przepływ pracy zostanie wstrzymany, wyświetli opcję i pozwoli ci ją zmienić)

Gdy to zrobisz, Automator będzie się kipiał i płonął, a kiedy to zrobi, wyda dźwięk.

Niestety wydaje się, że nie ma opcji wyboru jakości JPEG. Jednak w tej cenie (za darmo) jest to dość wygodne.

Dave DeLong
źródło
To może być najmniej techniczne dla kogoś, kto nie używa terminala. I prawdopodobnie najłatwiejszy, ale nie jest to najtańsza z odpowiedzi tutaj. Sips jest zawarty w kompilacji Maca dla Uniksa. ImageMagick jest również bezpłatny.
markhunte
3
Można bezpiecznie założyć, że Automator jest dla celów tej dyskusji darmowy, ponieważ uzasadnione jest założenie, że @mototribe działa na OS X. Moją jedyną obawą byłoby to, jak dobrze Automator poradziłby sobie z 100 000 obrazów, ale zakładając, że nie wszystkie jeden folder, po prostu karmiłbym go jednym folderem na raz, dopóki nie zostanie zrobione. Uruchomiłem ten przepływ pracy z setkami zdjęć bez trudności. Nie widzę powodu, dla którego nie działałoby to przeciwko wielu tysiącom, ponieważ każdy obraz jest przepychany pojedynczo, ale mam zaufanie, ale tryb weryfikacji.
jaberg
Yep Automator wykonał robotę doskonale. Przyszedłem tutaj, myśląc: „Znalazłem narzędzie wiersza polecenia, które pozwala na zmianę wielkości obrazów”… Czasami najłatwiejsze jest również najlepsze rozwiązanie. Twoje zdrowie.
Silouane Gerin
19

Lubię używać ImageMagick. sipsa Automator (który używa identycznej metody zmiany rozmiaru) sprawia, że ​​obrazy wydają się zbyt rozmyte bez dodatkowego wyostrzenia.

Możesz zainstalować ImageMagick brew install imagemagickpo instalacji Homebrew lub sudo port install imagemagickpo instalacji MacPorts . Następnie uruchom następującą komendę:

mogrify -filter lanczos2 -resize '500x500>' -format jpg -quality 90 -path /tmp/ *.jpg

500x500>sprawia, że ​​obrazy są szersze lub większe niż 500 pikseli na 500 x 500 pikseli. 500xzawsze zmienia szerokość na 500 pikseli i 500x500^sprawia, że ​​wszystkie obrazy mają co najmniej 500 x 500 pikseli . -path /tmp/zapisuje pliki wyjściowe /tmp/zamiast modyfikować pliki na miejscu.

Lanczos2lub 2-płatowe Lanczos są bardzo podobne do Catrom. W porównaniu do Lanczos( Lanczos3) są nieco mniej ostre, wytwarzają mniej artefaktów dzwonienia i wytwarzają więcej wzorów mory. Domyślnym filtrem do zmniejszania obrazów jest Triangle, co często powoduje, że zdjęcia są zbyt rozmyte.

-quality 100tworzy pliki około dwa razy większe -quality 95, co tworzy pliki około dwa razy większe -quality 88.

Więcej informacji:

http://www.imagemagick.org/Usage/resize/
http://www.imagemagick.org/Usage/filter/
http://lri.me/shell1.txt

Oto podobne polecenie, które używa sips:

for f in *.jpg; do sips -Z 500 -s format jpeg -s formatOptions 80 "$f" /tmp/; done

-Z 500jest jak 500x500>w ImageMagick.

Jeśli inne mają mniej niż 100 000 obrazów, możesz również użyć podglądu:

Podgląd używał tej samej metody zmiany rozmiaru co sipsAutomator, ale używa innej od 10.7. Wolę jednak ImageMagick Lanczos2.

Przesłałem porównanie różnych opcji do http://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.html .

Lri
źródło
1
Chciałbym cię ostrzec, abyś używał mogrify: to konwertuje pliki w miejscu, zastępując oryginalne! Jeśli coś pójdzie nie tak, straciłeś swoje pliki! Lepsze wykorzystanie convert(również z ImageMagick).
Kurt Pfeifle,
1
@KurtPfeifle Nie działa, jeśli podasz -pathopcję (która convertobecnie nie ma).
Lri,
Jeśli szukasz prędkości, sipsto może jest lepszy wybór. Szybki test z 1000 JPG á ~ 5 MB zmiana rozmiaru do 800px szerokości zajęła ~ 1 min. z sipsi ~ 8 min. z mogrify(z wyczyszczonymi buforami dyskowymi, używając GNU Parallel na quadcore).
Stefan Schmidt
13

ImageMagick to program interfejsu wiersza poleceń stworzony do tego celu. Wykorzystanie i instalacja ImageMagick może zastraszyć, ale ten pakiet do manipulacji obrazami jest najpotężniejszy jak dotąd. Ponieważ instalacja ze źródła może być kłopotliwa dla rodzimych użytkowników OS X, radzę używać Homebrew .

Aby zainstalować ImageMagick za pomocą Homebrew, uruchom ten oneliner w swoim terminalu:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew jest teraz zainstalowany, dobrze jest postępować zgodnie z sugestiami instalatora po instalacji. Teraz instalujemy ImageMagick za pomocą brew.

brew install imagemagick

ImageMagick jest teraz zainstalowany i jego convertprogram może być używany do Twoich celów. Aby przekonwertować duży obraz JPG na mniejszy obraz PNG, możesz uruchomić

convert input.jpg -geometry 800x600 output.png

Aby odpowiedzieć na pytanie „Jak zmienić rozmiar wszystkich plików w folderze i zapisać je w innym folderze”, możesz uruchomić następujący skrypt.

# create output dir
mkdir -p "../resized"

# Convert all .jpg files in the current folder
for image in *.jpg; do
    convert $x -geometry 800x600 resized/$x
done

ImageMagick może konwertować ponad 100 różnych formatów obrazów, a prawie wszystkie sztuczki, które możesz zrobić w Photoshopie, możesz zrobić w ImageMagick.

the_karel
źródło
dzięki, tego właśnie użyłem - jednak zainstalowałem go na Drupal, ponieważ importuję obrazy do Drupal.
uwe
@ theka_karel, właśnie ulepszyłem twój poprzedni post. Mam nadzieję, że nie przeszkadza.
CousinCocaine,
7

Kilka osób wspomniało o ImageMagick. Oto przepis: Dla uproszczenia załóż, że wszystkie pliki znajdują się w jednym folderze (a folder nie zawiera nic więcej). Otwórz okno terminala, włóż cd do tego folderu, a następnie uruchom

mkdir ../resized
for x in *.jpg; do convert -geometry 800x600 $x ../resized/$x

gdzie zamieniasz 800 x 600 na dowolny rozmiar.

Zalety obejmują dużą elastyczność w ImageMagick convert, na przykład możliwość wyboru różnych ustawień jakości obrazu docelowego lub ustawienie opcji zmiany rozmiaru w procentach. Lub możesz użyć -geometry 800x800, w którym to przypadku proporcje zostaną zachowane, ale maksymalna szerokość i wysokość wyniesie 800 pikseli.

Wady są oczywiste: wymaga pewnej znajomości wiersza poleceń, a także chęci przeszukiwania opcji wiersza poleceń convertodpowiednich ustawień. To nie jest zadanie dla osób o słabym sercu.

Harald Hanche-Olsen
źródło
4

I drugi GraphicConverter . Jestem zarejestrowanym użytkownikiem od 16 lat. Jego głównym celem jest edycja obrazów w trybie przetwarzania wsadowego i ma dobry interfejs użytkownika do projektowania niestandardowych przepływów pracy i ich zapisywania.

Możesz go również używać w połączeniu z Automatorem, ale prawdopodobnie nie będziesz tego potrzebować.

Oto kilka informacji ze strony GraphicConvertera wyjaśniających ich funkcje edycji obrazów przetwarzania wsadowego .

Konwersja partii z dodatkowymi funkcjami

GraphicConverter oferuje zaawansowane przetwarzanie wsadowe, które w pełni automatyzuje powtarzalne zadania stosowane do wybranych zdjęć:

  • Łatwo i szybko przekonwertuj wszystkie wybrane zdjęcia źródłowe na nowy format - bez względu na to, czy jest ich 5 czy 5 000; wystarczy zdefiniować typ konwersji i ustawić szczegóły
  • Podczas procesu konwersji można zastosować do 60 dodatkowych funkcji wsadowych, takich jak obrót, zmiana rozmiaru, zmiana rozdzielczości itp.
  • Zautomatyzuj usuwanie pakietu Ressource Mac OS przed przesłaniem dokumentów, jeśli występują problemy ze zgodnością podczas umieszczania plików zdjęć w Internecie
  • Twórz katalogi w formacie HTML do publikacji w Internecie i dostosuj kolory, rozmiary itp. Do swoich indywidualnych wymagań (patrz przykłady)
  • Szybko i łatwo zmieniaj nazwy wybranych dokumentów według specjalnych kryteriów
  • Łącz zdjęcia razem (np. Dla QuickTime VR)
  • Wstaw lub wyodrębnij informacje IPTC do lub z różnych formatów dokumentów
  • i wiele więcej ...

wprowadź opis zdjęcia tutaj


źródło
4

To kolejny prosty, czysty i skuteczny skrypt zmiany rozmiaru obrazu partii. Jeśli masz do czynienia z grafiką i różnymi rozdzielczościami, możesz użyć tego skryptu i zapisać go z różnymi wartościami do okazjonalnego użytku.

Zrób to, zmieniając tę wartość target_width 120 na swoje potrzeby i zapisz skrypt. Teraz przeciągnij obraz (y) do zapisanego pliku skryptu, aby rozpocząć zmianę rozmiaru obrazu (ów).


Otwórz edytor skryptów i utwórz następujący nowy skrypt:

-- save in Script Editor as Application
-- drag files to its icon in Finder

on open some_items
  repeat with this_item in some_items
    try
      rescale_and_save(this_item)
    end try
  end repeat
end open


to rescale_and_save(this_item)
  tell application "Image Events"
    launch
    set the target_width to 120
    -- open the image file
    set this_image to open this_item

    set typ to this_image's file type

    copy dimensions of this_image to {current_width, current_height}
    if current_width is greater than current_height then
      scale this_image to size target_width
    else
      -- figure out new height
      -- y2 = (y1 * x2) / x1
      set the new_height to (current_height * target_width) / current_width
      scale this_image to size new_height
    end if

    tell application "Finder" to set new_item to ¬
    (container of this_item as string) & "scaled." & (name of this_item)
    save this_image in new_item as typ

  end tell
end rescale_and_save

oryginalne źródło

v2r
źródło
3

Podgląd jest z pewnością dobrym rozwiązaniem dla niektórych okazjonalnych zmian rozmiaru. Istnieją również inne fajne bezpłatne opcje, takie jak ImageMagic (narzędzie wiersza poleceń), Preview lub coś innego plus Automator itp.

Jeśli jednak jest to część pracy i potrzebujesz prawdziwej elastyczności, aplikacja specjalnego przeznaczenia pozwoli Ci zaoszczędzić dużo czasu i zaoferować znacznie więcej możliwości. Wielu użytkowników wybrało nasz Resizer Image Resizer Sense ( http://veprit.com/resizesense ) ze względu na jego wyjątkową elastyczność i wygodę.

Oświadczenie: Jestem programistą. Lepiej sam oceń Resize Sense. Film wprowadzający na stronie produktu pokaże dokładnie, co jest takiego specjalnego w Resize Sense. Dostępna jest darmowa wersja demo.

VeprIT
źródło
2

Konwerter graficzny

Najlepsze do tego ..

Robert
źródło
7
Czy możesz wyjaśnić, dlaczego GC jest najlepszą opcją?
Nathan Greenstein
Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
daviesgeek
1

Zwykle importuję wszystkie zdjęcia do iPhoto, a następnie eksportuję je do różnych rozmiarów. Zrobiłem to na partiach około 300 zdjęć, ale nigdy na taką skalę, jakiej chcesz. Mimo to może to być opcja.

Synestetyczna Symfonia
źródło
1

Nikt nie wspomniał o Apple Aperture.

Chociaż wcale nie jest najtańszy, zawiera wiele innych rzeczy, które mogą Ci się przydać. Zasadniczo zastępuje iPhoto, a następnie niektóre. Robi 95% tego, do czego fotografowie często używają Photoshopa. (Nie spowoduje płonącego tekstu. :-)

Ale chyba, że ​​potrzebujesz innych rzeczy, które daje ci Aperture, popieram zarówno podejście ImageMagick - jeśli nie jesteś zastraszany przez pobieranie, instalowanie i uruchamianie programów wiersza polecenia, a podejście Automator, które pomimo twierdzenia @ markhunte, jest bezpłatne .

Jan Steinman
źródło
-1

Używam wina (i XQuartz ) i IrfanView . Oczywiście możesz także użyć imagemagick z wiersza poleceń. Do wina i imagemagick poleciłbym Homebrew .

irfanview in wine na OS X

iolsmit
źródło
Używam Irfanview od ponad 10 lat na PC i uwielbiam to. Ale nie mają wersji dla komputerów Mac?
uwe
1
Podejrzewam, że mają na myśli, że używają IrFranView przy winie. Wine pozwala uruchamiać oprogramowanie Windows na innych systemach operacyjnych. Dzięki Wine możesz instalować i uruchamiać te aplikacje tak jak w Windows. Zrzut ekranu wyraźnie pokazuje okna typu Mac (przyciski u góry) z graficznym interfejsem Windows PC
markhunte
5
Używanie Wine z aplikacją Windows to naprawdę przesada w stosunku do czegoś, co możesz zrobić natywnie.
Matteo