Portál AbcLinuxu, 10. května 2025 08:20

Dotaz: Hromadne zpracovani fotek

2.2.2006 07:21 netservis | skóre: 6 | České Budějovice
Hromadne zpracovani fotek
Přečteno: 545×
Odpovědět | Admin

Preji vsem pekny den a prosim o pomoc.

Mam Mandrivu 2005LE a marne hledam program, ktery by umel seradit fotky podle datumu vytvoreni (vyfoceni) a pak je hromadne prejmenovat. Mam z jedny akce asi 3500 fotek z 8 fotaku a potreboval bych je dat do jednoho adresare serazene podle casu.

Vcera jsem nad tim stravil cely den a na Linuxu jsem na nic neprisel. Na win v Zoner media explorer to samozrejme umim, ale myslim, ze by to melo jit i na Linuxu.

Predem dekuji za pomoc Marek Svarc
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Balu avatar 2.2.2006 07:59 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Najjednoduchšie by bolo asi napísať skript, ktorý vytiahne z EXIFu dátum a čas, a použiť tieto hodnoty na vhodný reťazec ktorý bude nový názov súuboru.
Počítač bez Windows je ako kakao bez kečupu.
2.2.2006 08:07 netservis | skóre: 6 | České Budějovice
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
No to je presne to co potrebuju a co umi ZONER. Ja ale script tezko napisu. To pro Linux skutecne neni nejaky program pro Lamy, co to umi???
Dalibor Smolík avatar 2.2.2006 09:13 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co se týká hromadného přejmenování souborů, používím příkaz
mmv "puvodni_cast_nazvu*" "nova_cast_nazvu#1"
(nutno nainstalovat mmv). Nový název volím tak, aby byly fotky řazeny abecedně a pořadí souhlasilo to s datem a pořadím jejich pořízení.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
2.2.2006 09:20 netservis | skóre: 6 | České Budějovice
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
To je fajn, ale cim vytahnu z exif ten datup porizeni fotky???
Dalibor Smolík avatar 2.2.2006 15:39 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
programem gqview. Klepnete pravým tlačítkem myši na obrázek - vyberete "vlastnosti" - "EXIF" a tam je to uvedeno.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Beetljuice avatar 2.2.2006 10:20 Beetljuice | skóre: 26 | blog: BeetljuiceBlog | Bílina
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
No já používám v Mandrivě 2006,KDE 3.4.2 na hromadné přejmenování "nejen" fotek program "Krename".Implementuje se rovnou i do Konqueroru a i Krusaderu.
Aj dont spík ÍÍngliš :-(
2.2.2006 09:32 xxl
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Odpovědět | | Sbalit | Link | Blokovat | Admin
jhead
2.2.2006 09:53 netservis | skóre: 6 | České Budějovice
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Tak vsem dekuji za pomoc, uz jsem na to prisel. Vse mnou pozadovane funkce splnuje program GThumb. Umi hromadne prenastavit datum fotky na datum porizeni a i podle toho datumu setridene fotky hromadne prejmenovat. Digikam ma Kipi plugin Time and date adjust, ale pri jeho pouziti spadne celej Digikam.

Jeste jednou dik Marek Svarc
2.2.2006 17:37 Vondy
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Na Mandriva 2006 CZ to v Digikam funguje bez problémů.
Balu avatar 2.2.2006 09:49 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Malý veľmi kostrbatý skript, ktorý všetky .jpg súbory v adresári prekopíruje do podadresára ./output s novým názvom Foto_datum_cas.jpg
#! /bin/bash

# Vysledok sa zapise do podadresara ./output
# Ak tento adresar neexistuje, tak sa vytvori
if  [ ! -d "./output" ];
        then mkdir ./output
fi

#Spracuj vsetky subory JPEG v adresari
for I in ./*.jpg;
        do
                echo $I; 
                # Vyber z EXIFu datum vytvorenia
                DATUM=`/usr/local/bin/exiftags $I 2>/dev/null  | grep Created | awk '{print $3}' | awk -F: '{print $1$2$3}'`;
#               echo $DATUM
                # Vyber z EXIFu cas vytvorenia
                orig_cas=`/usr/local/bin/exiftags $I 2>/dev/null  | grep Created | awk '{print $4}'|awk -F: '{print $1$2$3}'`;
#               echo $orig_cas;
                # Novy subor bude v adresari ./output s Nazvom v tvare Foti_Datum_cas.jpg
                vysledok=`printf "./output/Foto_%s_%s.jpg" $DATUM $orig_cas`;
#               ls -la $I;
#               echo $vysledok;
                cp $I $vysledok;

        done
Využíva utilitku exiftags .
Tento skript určite nie je kóšer, preto uvítam akékoľvek vylepšenia.
Počítač bez Windows je ako kakao bez kečupu.
2.2.2006 09:56 netservis | skóre: 6 | České Budějovice
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Dik, pro me velmi dobry studijni material. Urcite vyzkousim a dam vedet.
Dalibor Smolík avatar 2.2.2006 15:49 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Otázka, zda to zpracuje i obrázky xxx.JPG (nejen xxx.jpg)
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Balu avatar 2.2.2006 17:21 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
.JPG nie, keďže linux je case sensitive. Takisto bude problém ak by boli dve fotky vyfotené v tej istej sekunde. Tento skript som ale robil len pár minút medzi opravou vylomeného vypínača na bedni a výjazdom ku klientovi, a sám som uviedol že uvítam akékoľvek vylepšenia. Keď bude čas, sám sa s tým trochu pohrám.
Počítač bez Windows je ako kakao bez kečupu.
Dalibor Smolík avatar 2.2.2006 17:45 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Tak skript jsem vyzkoušel. V adresáři mám 4 fotky, po spuštění skriptu se mi vytvořil podadresář ./output a v něm jeden soubor, nazvaný Foto__.jpg. Ty ostatní tam nejsou
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Dalibor Smolík avatar 2.2.2006 17:59 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Pardon, upravil jsem správně cestu k programu exiftags. Ale i přesto se mi zkopírovaly jen 3 fotky, přestože jsem jich měl v adresáři 35.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Balu avatar 3.2.2006 06:16 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Hm, a majú tieto súbory exif? Aj to by bolo treba ošetriť. Potom by všetky súbory bez exifu mali názov práve Foto__.jpg . Prípadne skúste odsledovať či ho to nespracuje alebo spracuje zle, alebo odkomentujte tie riadky s echo, tie sú práve debugovacie, mali by vypísať názov súboru, dátum, čas a názov ako sa to ukladá.
Počítač bez Windows je ako kakao bez kečupu.
Dalibor Smolík avatar 3.2.2006 11:39 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Všechny soubory mají exif a byly foceny v krátkém časovém odstupu (několik málo minut) stejným foťákem. Ale zjistil jsem, že některé fotky mají v adresáři /output totožné číslo a vždy první fotka z těch, které mají stejné číslo se v tomto novém adresáři nezobrazí.
-rwxrwxrwx 1 dalibor dalibor 282717 2006-01-27 17:20 ./p1190005.jpg
./output/Foto_20060119_.jpg
./p1190006.jpg
20060119
-rwxrwxrwx 1 dalibor dalibor 417453 2006-01-27 17:20 ./p1190006.jpg
./output/Foto_20060119_.jpg
./p1260007.jpg
20060126
zobrazí se jen fotka č. p1190006.jpg
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Dalibor Smolík avatar 3.2.2006 11:40 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Všechny soubory mají exif a byly foceny v krátkém časovém odstupu (několik málo minut) stejným foťákem. Ale zjistil jsem, že některé fotky mají v adresáři /output totožné číslo a vždy první fotka z těch, které mají stejné číslo se v tomto novém adresáři nezobrazí.
-rwxrwxrwx 1 dalibor dalibor 282717 2006-01-27 17:20 ./p1190005.jpg
./output/Foto_20060119_.jpg
./p1190006.jpg
20060119
-rwxrwxrwx 1 dalibor dalibor 417453 2006-01-27 17:20 ./p1190006.jpg
./output/Foto_20060119_.jpg
./p1260007.jpg
20060126
zobrazí se jen fotka č. p1190006.jpg
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Balu avatar 3.2.2006 11:54 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
hm, nehodí to údaj o čase... pridajte sem výstup z exiftags p1190005.jpg nech viem kde je problem...
Počítač bez Windows je ako kakao bez kečupu.
Dalibor Smolík avatar 3.2.2006 12:47 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Tohle je výpis exif z této fotky:
Equipment Make: OLYMPUS IMAGING CORP.
Camera Model: FE-120,X-700
Camera Software: Version 1.0
Maximum Lens Aperture: f/2.8

Image-Specific Properties:

Image Orientation: Top, Left-Hand
Horizontal Resolution: 72 dpi
Vertical Resolution: 72 dpi
Image Created: 2006:01:19 18:39:08
Exposure Time: 1/80 sec
F-Number: f/3.8
Exposure Program: Creative
ISO Speed Rating: 80
Exposure Bias: 0 EV
Metering Mode: Pattern
Light Source: Unknown
Flash: Flash, Compulsory
Focal Length: 12.00 mm
Color Space Information: sRGB
Image Width: 2816
Image Height: 2112
Rendering: Normal
Exposure Mode: Auto
White Balance: Auto
Scene Capture Type: Portrait
Gain Control: None
Contrast: Normal
Saturation: Normal
Sharpness: Normal
Compression Setting: SQ

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
Balu avatar 3.2.2006 12:53 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Hm, EXIF ma rovnakú štruktúru ako aj EXIF z FZ10, nechápem prečo to nechytá ten čas...
Ale nová verzia skriptu by si s tým snáď mala poradiť
Počítač bez Windows je ako kakao bez kečupu.
3.2.2006 10:07 xxl
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Vytvořím adresář Output:
mkdir Output
Nakopíruji do něj soubory:
cp *.jpg Output
Změním adresář:
cd Output
Spusím program jhead:
jhead -nfFoto_%y%m%d-%H%M%S -ft *.jpg
;-)

Normálně ale pouze spustím program jhead:
jhead -nf%y%m%d-%H%M%S -ft *
Balu avatar 3.2.2006 12:48 Balu | skóre: 25 | blog: Ja a Linux | Praha
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pridávam upravenú verziu skriptu.
Tentokrát využíva utilitku exiftool.
Spracuje súbory .jpg aj .JPG, a zapíše ich do adresára ./output v tvare názov_dátum_čas_číslo.jpg kde názov je reťazec zadávaný ako parameter skriptu, dátum a čas sú z EXIFu a číslo slúži na rozlíšenie pokiaľ by sa vyskytli naraz odfotené fotky(alebo s rovnakým názvom vo výstupe). Testoval som to na fotkách z Nikonu D100,D200 a Panasonicu FZ10. Pokiaľ iný výrobca vymyslí nejaký iný exif s inými tagmi, tak to nemám ako odkontrolovať a nemusia byť dátumy a časy správne.
Skript nekontroluje, či je v adresári ./output rovnaký súbor - pri opätovnom spustení skriptu sa súbory zduplikujú so odlišným číslom. Možné sú aj ďalšie muchy alebo chyby, komu sa chce, nech testuje a upravuje.
#! /bin/bash

Test_nazov() {
    declare -i num;
    num=$2;
    local filename=`printf "%s_%d.jpg" $1 $num`;
    vysledok=$filename;
    if [ -e $vysledok ];
        then    
            num+=1;
            vysledok=`printf "%s" $(Test_nazov $1 $num)`;
            echo $vysledok;
        else  echo $vysledok;
        fi
}
                
#set -o xtrace

if  [ ! -d "./output" ];
        then mkdir ./output
fi

#Spracuj vsetky subory JPEG v adresari
for I in ./*.[jJ][pP][gG];
        do
                echo File: $I;
                # Vyber z EXIFu datum vytvorenia
                DATUM=`/usr/local/bin/exiftool $I 2>/dev/null  | grep -m 1 "Shooting Date" | awk '{print $4}' | awk -F: '{print $1$
2$3}'`;
                
                echo Date: $DATUM
                # Vyber z EXIFu cas vytvorenia
                orig_cas=`/usr/local/bin/exiftool $I 2>/dev/null  | grep -m 1 "Shooting Date" | awk '{print $5}'|awk -F: '{print $1
$2$3}'`;
                echo Time: $orig_cas;
                # Novy subor bude v adresari ./output s Nazvom v tvare Foti_Datum_cas.jpg
                printf -v vysledok "./output/%s_%s_%s" $1 $DATUM $orig_cas;
#               ls -la $I;
                Final=`echo $(Test_nazov $vysledok 0)`;
                echo Output: $Final;
                echo ""
                cp $I $Final;

        done
 
Testeri a vylepšovači sú vítaní :-)
Počítač bez Windows je ako kakao bez kečupu.
Dalibor Smolík avatar 3.2.2006 13:19 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Ještě to stále není ono :-) Zobrazuje to všechny fotky, ale pořadí není zobrazováno správně
|   |-- 20060110___0.jpg
|   |-- 20060110___1.jpg
|   |-- 20060119___0.jpg
|   |-- 20060119___1.jpg
|   `-- 20060126___0.jpg

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
3.2.2006 14:06 xxl
Rozbalit Rozbalit vše Re: Hromadne zpracovani fotek
Kdybys vyzkoušel jhead, tak bys nemusel dva dni vyrábět script.
 jhead -nfNazev_%y%m%d-%H%M%S *

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.