» »

Batch image resize

Batch image resize

antonija ::

Iscem SW, ki bi lahko resizal vecjo kolicino jpg slik v direktoriju z mnogo poddirektoriji (v vsaj treh nivojih). Vsi ki sem jih nasel do sedaj lahko resizajo po en direktorij slik (brez da bi se spuscali v subdirektorije), amapk ce je v glavnem okrog 150 subdirov in ima vsak od njih se nekaj subdirov postane zadeva casovno potratna.

SW bi bil super ce je za win, ce ga ni lahko tudi za Ubuntu. Vem da bi se zadeva verjetno dala spisat v kaksno lepo skripto, ampak so moje skriptarske sposobnosti zelo omejene/nonexistant.
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

mile ::

imagemagick

antonija ::

Thx. Zdej naj mi pa prosim se kdo namigne kako ga prepricam da se "sprehodi" po vseh subdirih (do najnizjega nivoja) in resiza vsak jpg ki ga najde?
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

Jst ::

V *nix v bashu ena vrstica z magick libsi.

for img in `ls *.jpg`
do
convert -sample 25%x25% $img thumb-$img
done

Nekaj o ImageMagick libraries.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

mile ::

Jst ::

Sam sem na posdoben način .mp3, ki so bili višje kvalitete, VBR 256, I Think, spremenil na 128kbit za na telefon, kateri ne potrebuje večjega bitrate-a, oziroma se pri 128 ne sliši *moje-ušesna* zvočna degradacija. Manj, recimo 96, je že crap.

edit: jaz sem za na telefon uporabil AAC+ pri 112kbit. Na dedicated mp3 playerju sem uporabil 128 mp3. Pomota prej.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

Zgodovina sprememb…

  • spremenil: Jst ()

antonija ::

Se oravicujem za sitnarjenje, samo rad bi vsaj kolikor-toliko razumel komande preden jih grem izvajat.

"ls" je nekaksen ekvivalent windowsovega "dir" ce prav razumem, in ce uporabim "ls -R" bom na ekranu videl vse filetke ki se skrivajo v trenutnem direktoriju in njegovih poddirektorijih. Edini problem je da "ls" ne izpise "lepih" pathov od filetkov, ampak nekaksne tabele....
Ce podobno vajo ponovim z "find" v obliki "find -depth" in dodam "| grep jpg" dobim "lep" seznam jpg filetkov z pathi (od trenutnega direktorija navzdol).

Zdej pa ce vzanen od Jsta bash comando bi mogla z "find" izgledat nekako tkole:

for img in 'find -depth | grep jpg'
do
mogrify -resize 320x240 $img
done

...in s tem bi moral doseci sledece:
prva vrstica naredi "seznam" vseh jpg-jev za obdelavo
tretja vrstica resiza vsak jpg na 320x240 (prepise originale)

koncni rezultat je ista struktura direktorijev in poddirektorijev, enaka imena slik, edino njihova velikost bo znatno manjsa.

A sem prav razumel?
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

antonija ::

Se tole: ce namesto "mogrify" uporabim "convert" so koncni produkt kopije (originali ostanejo nedotaknjeni). Kako se vkomponira v komando da naj bo output direktorij (ta glavni) drugacen kot input (pri cemer naj imena in struktura poddirektorijoev ostane nestpremenjena)? Npr. slike iz ./photos/2006/abc/ naj se convertajo v ./photos-small/2006/abc/ in tako dalje za vse poddirektorije v ./photos/

Pa se to: v vrstici 1 se "img" sproti doloca vrednost ki jo ustvari "find"? In potem gre proces nekako takole: find najde prvo sliko, napise path v $img, imagemagick "obdela" $img in zadeva se vrne nazaj na find in drugi rezultat?
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

delfinus ::

Sicer pa Thumbs Plus lahko za celo serijo slik naredi resizing, kar preko menijev.

Jst ::

V Bashu je super stvar leplenje večih ukazov.

>Kako se vkomponira v komando da naj bo output direktorij (ta glavni) drugacen kot input (pri cemer
>naj imena in struktura poddirektorijoev ostane nestpremenjena)?

Dodaš še cp ukaz.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

BigWhale ::

Ce imas veliko slik, potem bo tale zanka crknila, uporabiti bos moral xargs. Tisti $img daj med narekovaje takole nekako: "${img}" sicer bo stala, ce bos imel v imenu datoteke presledek.

Za kopiranje dodaj v skripto se tole (pred convert)

$target="./photos-small"
...
do
$dir=`dirname "${img}"`
mkdir -p ${target}/${dir}
convert ... "${img}" "$target/${dir}/${img}"
done

Takole nekako...

antonija ::

Uf... vidim da bo treba kaksno knjigo prebrat preden bom lahko napisal kaksno skripto ki bo na koncu delala to kar hocem. Bom pa probal danes popoldan se tole da vidim kako deluje.
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

Jst ::

Jaz imam na prenosniku, kjer laufam linux, en super link o bash programiranju skript, vendar ga sedaj nimam pri sebi. Če se bom zvečer spomnil, ga prilimam tule. Pomaga ti pa pri zlaganju ukazov skupaj.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

bjelakrez ::

KoMar- ::

irfanview


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

KAteri program za samodejni resize velike količine slik

Oddelek: Pomoč in nasveti
151085 (817) Hayabusa
»

Bash izpis datotek

Oddelek: Programiranje
111468 (1290) BigWhale
»

Noob se loti programiranje v BASH

Oddelek: Programiranje
212263 (1663) c3p0
»

rm -r v Windows? (strani: 1 2 )

Oddelek: Novice / Operacijski sistemi
776092 (6092) MasterMind
»

preimenovanje 700 slik naenkrat

Oddelek: Programska oprema
171971 (1720) Mercier

Več podobnih tem