Jaki program może automatycznie zmieniać rozmiar i przycinać folder obrazów do określonej rozdzielczości?

11

Chciałbym zrobić folder zdjęć o różnych rozmiarach i przyciąć je do kwadratu siatki 600 x 600, wyciętego od środka obrazu. Czy istnieje program, który może automatycznie zmieniać rozmiar i przycinać do tych wymiarów, a następnie wyświetlać jako skompresowany plik .png? W przypadku obrazów mniejszych niż 600 x 600 chciałbym, aby program zwiększył rozmiar obrazu do tego wymiaru.

Piotr
źródło
1
Sprawdziłem mój Irfanview, a jego zbiór jest statyczny, z jedynie opcją rozpoczęcia od narożników i stałym przesunięciem. Nie może wykonać centrowania i warunkowego rozmiaru, o które poprosił PO. Nie nadaje się do zmiennych rozmiarów obrazu.
Michael Nielsen,
1
Miałem nadzieję, że XnConvert może zrobić to, czego szukasz, ale podobnie jak IrfanView, nie będzie on wyśrodkowany na dowolnych rozmiarach obrazów.
Mark Whitaker

Odpowiedzi:

12

Można to zrobić za pomocą polecenia Batch programu Photoshop. Zasadniczo „nagrałbyś” siebie, wykonując przycinanie itp., A następnie uruchom nagranie dla wszystkich plików, które chcesz. Jeśli chcesz automatycznie zmienić rozmiar mniejszych obrazów, musisz wykonać trochę skryptu.

Irfanview ma również wszechstronny proces wsadowy obrazu, ale może wymagać trochę eksperymentów, aby uzyskać pożądane wyniki.

ElendilTheTall
źródło
10

ImageMagick pozwala uruchamiać polecenia w oknie poleceń systemu Windows. Musisz być wygodny w tworzeniu plików wsadowych Dos.

Na przykład zobacz ostatni post w tej dyskusji: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112

Odpowiedni przykład z tego postu na forum:

@echo off

cd C:\Users\user\Desktop\New\New folder

convert *.jpg -fuzz 10%% -trim -write %%02d_trim.png -scale "x1!" txt:

convert *_trim.png -crop 209x329+0+0 -fuzz 10%% -trim +repage %%02d_left.png

convert *_trim.png -crop 173x336+227+0 -fuzz 10%% -trim +repage %%02d_right.png

@pause
Rene
źródło
Najlepiej, jeśli odpowiednie części zasobów zewnętrznych są tutaj cytowane lub streszczone. Linki zewnętrzne mogą potencjalnie przejść w tryb offline w dowolnym momencie, unieważniając odpowiedź, która zawiera tylko link. Podany link zawiera odpowiedź, jednak proszę o podanie odpowiedniego polecenia tutaj w swojej odpowiedzi, aby uczynić go bardziej realnym.
jrista
7

Najpierw pomyślałem, że chcesz zmienić rozmiar partii, co wiele programów może zrobić. Ale potem zdałem sobie sprawę, że chcesz wykonać połączenie zmiany rozmiaru i przycinania, i chcesz, aby komputer obliczył, jak najlepiej dynamicznie wyciąć 600 x 600 pikseli z obrazu.

Wynika to z tego, że nie jest to zadanie typu „jedno prawdziwe rozwiązanie”, ponieważ zwykle jest to ludzkie wezwanie, jak wykadrować obraz, więc można to zrobić tylko poprzez załadowanie pewnych warunków. Na przykład spójrz na proporcje i zawsze zmieniaj rozmiar najkrótszego wymiaru na X i przycinaj Y (wyśrodkowane / prawe / lewe) piksele. Jeśli dobrze przeczytam twoje oświadczenie, chcesz przyciąć 600 pikseli z X i Y wyśrodkowanych w obu wymiarach, jeśli oba wymiary to 600 lub więcej. I zmienić rozmiar tylko na 600, jeśli jeden wymiar jest mniejszy niż 600?

Od dawna chciałem dodać taką funkcję do mojego programu „Widok obrazu Plus Więcej” i wydaje mi się, że ustawienia funkcji powinny być takie: środkowy / lewy / prawy - zmiana rozmiaru: nie / jeśli mniejszy niż / jeśli większy niż / oba

Potrzebujesz więcej ustawień?

Aktualizacja: Skończyłem programować tę funkcję w Image View Plus Więcej 2.4:

http://www.sequoiagrove.dk/tools.php

Instrukcje: zainstaluj, przeciągnij i upuść obrazy, które chcesz przyciąć, „zapisz wszystko w nowym folderze” i nadaj mu nazwę basename lub%, aby użyć oryginalnej nazwy pliku, a następnie w następnym oknie dialogowym wybierz „autocrop ”i wypełnij pola szerokości i wysokości, wybierz wyrównanie„ środek ”dla wysokości i szerokości i zaznacz„ zmień rozmiar, jeśli jest mniejszy ”.

Zrobiłem tutorial, jak to zrobić:

Rozwiązanie problemu PO: http://www.youtube.com/watch?v=wBc1s6zuDJM

Kolejny przykład: http://www.youtube.com/watch?v=3nFrnaefsqA

Michael Nielsen
źródło
Zobacz moją odpowiedź, napisałem kod w pythonie.
Onlyjus
1
Tak, teraz nie jest tak statyczny, ale czy jesteś pewien, że OP jest zainteresowany programowaniem edycji obrazu?
Michael Nielsen,
Nie mam pojęcia. OP właśnie poprosił o program, więc napisałem jeden.
Onlyjus
Jak widzisz, teraz dodałem tę funkcję i mam pomysły na ulepszenia, takie jak „pokaż przykład” (na aktualnie oglądanym zdjęciu), więc nie możesz ograniczać się do wyśrodkowania lub wyrównania do krawędzi. Często musiałbym wymyślić, jak uogólnić ten przykład na różne proporcje i rozmiary.
Michael Nielsen,
Miły! W czym napisany jest twój program i czy jest dostępne źródło?
Onlyjus
5

Jeśli lubisz programować, możesz użyć Pythona (języka komputerowego), a doskonała biblioteka zna PIL do przycinania, zmiany rozmiaru, drukowania histogramów, uzyskiwania pojedynczych wartości pikseli itp. Na poziomie programowym. W ten sposób możesz łatwo napisać prosty skrypt, aby znaleźć wszystkie obrazy w folderze i wykonać operację.

Ten kod powinien robić dokładnie to, co chcesz i przetwarzać kilka zdjęć na sekundę, w zależności od rozmiaru obrazu:

#Python 2.7, PIL 1.1.7

import Image
import glob
import os

#Function to resize image, preserving aspect ratio
def resizeAspect(im, size):
    w,h = im.size
    aspect=min(size[0]/float(w), size[1]/float(h))
    return im.resize((int(w*aspect),int(h*aspect)),Image.ANTIALIAS)

imgList=glob.glob('C:/icons/*.png')         #Find all png images in a directory

for img in imgList:                              #Loop through all found images
    im = Image.open(img)                         #open the image
    print "resizing:",os.path.basename(img)
    w,h = im.size                                #Get image width and height
    if min(w,h)<600:                             #Check if either dimension is smaller then 600
        im=resizeAspect(im,(600,600))            #Re-size Image
        w,h = im.size                            #update image size
    center = [int(w/2.0),int(h/2.0)]             #Calculate Center
    box = (center[0]-300, center[1]-300, center[0]+300, center[1]+300) #Defines a box where you want it to be cropped
    croppedIm = im.crop(box)                     #Crop the image
    #croppedIm.show()                            #Show the cropped image
    fileName, fileExtension=os.path.splitext(img)
    croppedIm.save(fileName+'_crop.png', "PNG")  #Save the cropped image

Kiedy zaczniesz pracować na poziomie programowym, niebo jest granicą! Możliwe jest nawet wykrywanie twarzy i kadrowanie wokół twarzy, co pozwala inteligentnie przyciąć tysiące zdjęć ...

[zaktualizowano 09.12.2012]

Onlyjus
źródło
4

ThumbsPlus może robić to, o co prosisz. W menu Obraz wybierz opcję Przetwarzanie wsadowe lub naciśnij klawisz F12 i odpowiedz na interaktywne monity. Możesz dodać wiele operacji do zestawu i zapisać go do natychmiastowego użycia, a także do wykorzystania w przyszłości. W przyszłości po prostu uzyskaj dostęp do wcześniej skonfigurowanej nazwy zestawu, aby automatycznie uruchamiać ją w katalogu lub wybranych zdjęciach, a nawet w całym drzewie katalogów.

Podczas budowania zestawu dostarczany jest przykładowy obraz ilustrujący opcję dodaną do operacji.

Bądź ostrożny w budowaniu zestawu, ponieważ kolejność operacji jest ważna.

Victor Engel
źródło
4

Sizzlepig.com to narzędzie online, które zrobi to łatwo, możesz ustawić rozmiar „planu” na 600 x 600, a następnie wyśrodkować wszystkie obrazy.

W części „W przypadku obrazów mniejszych niż 600 x 600 chciałbym, aby program zwiększył rozmiar obrazu do tego wymiaru”. Zdecydowanie odradzam NIE próbowanie powiększania obrazów, ale próbę znalezienia źródła o wyższej jakości do pracy. Wiem, że nie zawsze jest to możliwe, ale spowoduje to znacznie lepszą jakość wydruku niż próba rozszerzenia.

(Pracuję dla sizzlepig, ale wciąż jest to świetne narzędzie)

Jeremy
źródło
Proszę zobaczyć FAQ . Można tu wspominać o swoich rzeczach, ale musisz to powiedzieć.
Proszę przeczytać mój profil
1
Fajne. Witamy na stronie, zostań w pobliżu, odpowiedz i zadaj kilka innych pytań. :)
Proszę przeczytać mój profil
2

Irfanview może to zrobić, ale wymaga trochę konfiguracji.

Użyj opcji konwersji partii. Wybierz „PNG” jako format wyjściowy. Kliknij przycisk „Opcje” obok formatu wyjściowego, wybierz żądaną kompresję i kliknij OK

Zaznacz pole „Użyj opcji zaawansowanej”, a następnie kliknij przycisk „zaawansowany”

Zobaczysz to okno

Zaawansowane ustawienia Irfanview

Skonfiguruj zmianę rozmiaru najkrótszym bokiem 600. Upewnij się, że zaznaczyłeś „zachowaj proporcje” i „użyj funkcji ponownego próbkowania”. Odznacz „Nie powiększaj mniejszych zdjęć”

Jeśli drastycznie zmniejszasz rozmiar oryginalnych obrazów, możesz zaznaczyć pole „wyostrzanie” i dodać wartość. Moje wymaganie dotyczyło obrazów o rozmiarze 150 x 150 i okazało się, że muszą one wyostrzyć wartość około 20, aby dopasować do jakości obrazu uzyskiwanego z Photoshopa. W przypadku obrazów 600 x 600 może nie być konieczne wyostrzanie - możesz więc odznaczyć tę opcję.

Zamiast używać „przycinania” użyj ustawienia „rozmiar płótna” - zaznacz opcję

Kliknij przycisk „Ustawienia” obok opcji rozmiaru płótna. Zobaczysz to okno

Opcje rozmiaru płótna Irfanview

Wybierz metodę 2 oraz szerokość i wysokość jako 600. Wybierz opcję „środka” kotwicy

Kolor płótna nie ma znaczenia, ponieważ tak naprawdę nie doda ramki obrazu

Teraz na ekranie zaawansowanym ponownie zaznacz pole obok „niestandardowego porządku przetwarzania” i upewnij się, że „zmiana rozmiaru” jest pierwsza na liście - tzn. Aby zmiana rozmiaru została wykonana przed kadrowaniem.

Kliknij OK

Upewnij się, że wybrałeś pliki, które chcesz przekonwertować, skonfiguruj katalog wyjściowy, a następnie kliknij „rozpocznij wsad”

Nat
źródło
0

Istnieje narzędzie z wieloma opcjami dostępnymi na stronie http://pixresizer.software.informer.com/

To jest dobre oprogramowanie. Dobry środek, łatwy w użyciu i szybszy w pracy. Podczas fotografowania używam go do przetwarzania obrazów w partiach. Wiele razy muszę zmniejszyć rozmiar zdjęć, aby udostępnić je w Internecie. Próbowałem też trochę innego oprogramowania, ale okazało się, że to dobre. (Nie jestem związany z tą firmą.)

Mahesh Mankar
źródło
Czy oprogramowanie jest dobre? Dlaczego? Czy jesteś związany z firmą?
Paul Cezanne
Cześć Paul, Tak, to jest dobre oprogramowanie. Dobry środek, łatwy w użyciu i szybszy w pracy. Podczas fotografowania używam go do przetwarzania obrazów w partiach. Próbowałem też trochę innego oprogramowania, ale okazało się, że jest dobre. Nie !, Nie jestem związany z tą firmą.
Mahesh Mankar
Mahesh, czy możesz wziąć swoje komentarze i edytować swoją odpowiedź? Nie wszyscy czytają komentarze. I powiedz nam o tym coraz więcej, chcielibyśmy wiedzieć!
Paul Cezanne
0

Nie wiem, dlaczego nikt o tym nie wspomina, ale moim ulubionym jest multipleimageresizer.net . Pozwala to na wiele takich czynności, jak kadrowanie, zmiana formatu, rozmiaru, dodawanie tekstu, znaku wodnego ... itp. na wielu obrazach jednocześnie.

Jest to oszczędność czasu rzeczywistego .. Polecam!

538ROMEO
źródło