Čím setřídit obrázky podle rozměrů?

jadd

Čím setřídit obrázky podle rozměrů?
« kdy: 04. 04. 2012, 03:44:40 »
Nautilus ani Shotwell to neumí.
Průzkumník ve Windows to zvládá setřídit podle šířky i výšky.
Používám sice Gnome ale nevadila by ani aplikace z jiného prostředí, včetně javy.


danielsoft

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #1 kdy: 04. 04. 2012, 11:40:57 »
napadá mě napsat si nějakej skript, kterej bude využívat služeb programu "identify" z balíčku ImageMagick

( http://www.imagemagick.org/script/identify.php )

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #2 kdy: 04. 04. 2012, 13:41:14 »
volat postupně identity na každý obrázek je pomalé

Zkusil jsem google a našel jsem tohle: http://ubuntuforums.org/showthread.php?p=6675830

Dalším řešením je prohlížeč obrázků gthumb
Úpravy: Nastavení: Prohlížeč - Titulek, zaškrtnout Dimensions - tím se budou rozměry zobrazovat
pak menu Zobrazit: Řadit podle... rozměry

Peter

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #3 kdy: 04. 04. 2012, 14:01:26 »
:volat postupně identity na každý obrázek je pomalé

Ja mám dosť pomalý počítač (1.2GHz PowerPC G4), ale nepripadá mi pomalé dostať výsledok za 20 tisícin sekundy až 50 tisícin sekundy. Teda, prvé volanie je pochopiteľne pomalšie, keďže sa musí dostať daný nástroj aj s knižnicami do pamäte.

belzebub

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #4 kdy: 04. 04. 2012, 15:02:13 »
takovyhle skriptik (rekneme ze se jmenuje x.sh) napise velikost obrazku v pixelech a jeho jmeno
#!/bin/bash
for f in $@
do
   read w h <<< $(identify $f | cut -d' ' -f3 | tr 'x' ' ')
   echo $((w * h)) $f
done


pokud ho pak pustime tak obrazky setridene podle plochy dostaneme napr. takto:
./x.sh *.jpg | sort -n | cut -d' ' -f2

pokud chceme tridit take podle horizontalniho rozliseni, muzeme zmenit vypis z

   echo $((w * h)) $f

na

   echo $((w * h)) $h $f


..atd

rychlost pro 100 obrazku 640x480 na core2duo 2.5GHz: 0.7s


mx1

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #5 kdy: 04. 04. 2012, 21:05:14 »
Můj Konqueror (KDE 3.5.10) — Pohled s informačním seznamem — zobrazí ve sloupcích:  Název, Datum vytvoření, Rozměry, Doba expozice, Komentář, ...
Na co kliknu, podle toho setřídí. Kliknu podruhé aby setřídil naopak.
Jenom neumí třídit podle výšky, vždycky to setřídí podle šířky, potvora. A hrozně dlouho načítá ty údaje o souborech.

jadd

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #6 kdy: 04. 04. 2012, 22:00:17 »
Díky, všem,
Našel jsem jedinou aplikaci která to vše umí, je to Gimageview.
Jen často padá, možná to je tím, že používám Gnome-3.2 (bez fallback módu) ale v Gnome-2 by třeba nepadala.

jadd

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #7 kdy: 04. 04. 2012, 22:13:54 »
Možnosti třídění.
Jinak program umí daleko víc, třeba hledat duplicity pomocí součtů.

Re:Čím setřídit obrázky podle rozměrů?
« Odpověď #8 kdy: 05. 04. 2012, 09:52:46 »
Rozdíl je v tom, že identity se musí zavolat tolikrát, kolik těch obrázků je a ten exec nějaký strojový čas zabere. Ten python script se spustí a pak už jen načítá obrázky. Pokud se přidají další shellové utilitky (cut, sort) rozdíl se ještě zvětší. Pro jednorázové použití to není problém. Ale pokud to chcete použít třeba interaktivně do toho Nautila, tam by to už mělo význam.

Je teda pravda, že dnešní počítače jsou rychlé až dost. Schválně jsem si to zkusil porovnat a rozdíl je vidět až u většího počtu obrázků:
Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz  4GB RAM
složka s cca 500 jpg soubory

Kód: [Vybrat]
time identify *.jpg > /dev/null

real    0m0.179s
user    0m0.142s
sys     0m0.035s

Kód: [Vybrat]
time python velikosti_obrazku.py *.jpg > /dev/null

real    0m0.095s
user    0m0.066s
sys     0m0.028s