Come posso ridimensionare tutte le immagini in una cartella della stessa larghezza?


97

Voglio ridimensionare tutte le immagini in una determinata cartella della stessa larghezza (ma diverse altezze opportunamente ridimensionate). Come posso farlo utilizzando uno strumento basato sulla GUI o dalla riga di comando?

Per i punti bonus, è possibile limitare quali immagini vengono ridimensionate in base alla loro larghezza iniziale (ovvero, ridimensionare solo le immagini che hanno una larghezza> xe / o una larghezza <y)?


avconv può farlo tramite la CLI - Vedi: libav.org/avconv.html#scale-1
Elder Geek,

Risposte:


152

Questo è molto facile da fare con imagemagick . Dovresti essere in grado di installarlo nel Software Center. Lo suggerirei per l'elaborazione in batch delle immagini.

Il ridimensionamento in batch è incredibilmente semplice (l'ho provato con Ubuntu 11.10). Utilizzare il comando seguente per ridimensionare ogni file .jpg a 200 pixel di larghezza, mantenendo le proporzioni:

$ convert '*.jpg[200x]' resized%03d.png

puoi mantenere il nome del file usando l'opzione -set. Ex:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

Se hai più file che dovresti usare con find

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

Questo sta solo graffiando la superficie del potere di imagemagick. Il ridimensionamento può essere regolato all'infinito . Per un ridimensionamento più avanzato devi usare l' -resizeopzione.

Puoi limitare il ridimensionamento al restringimento :

$ convert '*.jpg[300x>]' thumb-300-%03d.png

o ingrandimento :

$ convert '*.jpg[300x<]' thumb-300-%03d.png

Dai un'occhiata alla documentazione sulla geometria per vedere più opzioni.


1
Perché jpg in png?
JohnyTex,

3
Le estensioni .jpg e .png sono solo un esempio per dimostrare l'utilizzo di diversi formati.
bandi

Per maggiori informazioni sull'opzione -set: imagemagick.org/script/command-line-options.php ; in sostanza, -set <property-name> <value>imposta una proprietà; %<one-character>e %[<one-or-more-characters>]sono espansi da Imagemagick al loro valore; le proprietà utilizzate per determinare a livello di programmazione il nome file di output devono iniziare filename:, quindi è necessario copiare la baseproprietà, contenente il percorso dell'immagine, in una filename:<something>proprietà.
marcotama,

1
Grazie per aver condiviso questo trucco, non lo sapevo!
marcotama,

2
proprietà immagine sconosciuta "% [base]"
Post Self

32

Per la GUI, Phatch "un clic vale mille foto" è il migliore per un lavoro così rapido. È già nel repository Ubuntu.

sudo apt-get install phatch
  1. Aggiungi scala e salva elemento
  2. Imposta le opzioni di ridimensionamento / ridimensionamento
  3. Imposta le opzioni di salvataggio / output
  4. Correre
  5. Imposta cartella di input
  6. Fai clic su batch per eseguire

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


2
Per un voto, un esempio di come eseguire effettivamente l'attività nella domanda sarebbe bello :) Ma grazie per il suggerimento, bel strumento!
Jaywink,

2
Questo non ha funzionato sulla mia macchina (Ubuntu Mate 16.04). L'app era bloccata nella schermata di avvio
Gunith D

1
@GunithDevasurendra, provalo dalla riga di comando per verificare la presenza di errori. se non è stato possibile risolverlo, si prega di scrivere un'altra domanda e includere tale output.
user.dz,

1
Ottimo strumento, l'ho usato per anni. Sfortunatamente non è mantenuto e non funziona nelle attuali versioni di Ubuntu. Spero che qualcuno possa fork il codice per risolverlo.
Diego V,

Su Fedora non è lo stesso di cui sopra e non ha tale funzionalità
Vlad

29

Prova questo:

sudo apt-get install gimp-plugin-registry

Quindi, apri Gimp e apri il plugin Batch trovato in Filters > Batch > Batch Process.

Seleziona le tue immagini nella Inputscheda e definisci l'operazione di ridimensionamento nella Resizescheda con un nome sorprendente .

Ulteriori informazioni possono essere trovate qui .


21

Prova il mogrifycomando dagli strumenti ImageMagick.

  • fornire un percorso per separare l'output dagli originali
  • indica la larghezza o l'altezza della miniatura desiderata, sotto un esempio di larghezza
  • in questo modo mantieni il nome file originale :-)

Esempio:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg

1
Questa è la migliore risposta secondo me!
Tom,

2
$ mogrify -path small / -resize 300x * .jpg
Iurie Malai

1 e si può ridimensionare il lato più lungo se questo è per un ritratto o paesaggio ruotato immagine: stackoverflow.com/a/5694903/227926
therobyouknow


8

Risposto e accettato (e utilizzo ImageMagick) ma per completezza ... Ho un capo non tecnico che voleva un semplice visualizzatore con alcuni strumenti di base e doveva essere una GUI. Ho deciso di gThumb per lui.

Nella vista in anteprima tu ...

  • Seleziona le immagini che desideri ridimensionare
  • Avvia la funzione di ridimensionamento (fai clic sull'icona della chiave inglese> Ridimensiona immagini ..)
  • Inserisci una nuova dimensione in base a pixel o percentuale
  • Seleziona una cartella di output e il gioco è fatto.

Per il ridimensionamento è un'alternativa decente a Phatch fino a quando non sarà fissato per il 16.04.
Hastig Zusammenstellen,

3

Per il ridimensionamento delle immagini batch ho esaminato molti pacchetti e finalmente ne ho trovato uno con un'interfaccia utilizzabile - converseen . Una volta scoperto che le impostazioni importanti sono in qualche modo nascoste nel riquadro di scorrimento a sinistra, tutto va bene.
Non sono sicuro se questo soddisfa tutti i casi d'uso dei PO, ma potresti non dover guardare le strane interfacce utente di imagemagick o phatch.
Stranamente, i pacchetti di gestione delle foto come digikam, f-spot, fotoxx o shotwell non sembrano riconoscere la necessità di copiare / ridimensionare gruppi di immagini prima di caricarli su servizi online come photobucket o (gag) flickr. Questi servizi vogliono che facciamo le cose a modo loro solo quindi non mi fido di loro per il backup degli originali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.