Lägga in datum på bilder

Här behandlar vi ritprogram, program för fotoretuschering, bildhantering och liknande. Vänligen observera att trådar rörande grafikkort hör hemma i Hårdvara och drivrutiner!
Kategoriregler
Här behandlar vi ritprogram, program för fotoretuschering, bildhantering och liknande. Vänligen observera att trådar rörande grafikkort hör hemma i Hårdvara och drivrutiner!
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Lägga in datum på bilder

Inlägg av rkl »

Jag har ett stort antal bilder som jag tagit med digitalkamera och avser skicka till ex Extra Film för att få dessa framkallade på papper.

På varje bild vill jag visa det datum då bilden togs.

Jag hittar datumet med Program/Grafik/Fotohanteraren Shotwell, men hur får jag in datumet på bilden?

Tacksam för hjälp.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Lägga in datum på bilder

Inlägg av ubot »

Det går säkert att lägga till text på bilderna med kommandot:

Kod: Markera allt

convert -font helvetica -fill black -pointsize 25 -draw 'text 30,30 "Var är datumet?"' old.png new.png
Det gäller att hitta ett lämpligt mått istället för text 30,30 för att få texten där man vill. Det kanske går att styla texten lite också så att den ser lite snyggare ut på fotografiet. Dessutom krävs att man har datumstämpeln som variabel istället för texten "Var är datumet?". Och det är där nästa problem kommer in:
Det du behöver är ett kommando för att hämta datum-stämpeln på fotografiet. Jag antar att det är lagrat som en etikett på något sätt i bildfilens information. Om det finns ett kommando för att hitta datumet så går det säkert att bygga ett enkelt skript som lägger till en datumstämpel på alla fotografier automatiskt.

Edit: Så här går det att hitta datumstämpeln:

Kod: Markera allt

identify -verbose old.png | grep "date:create:" | grep -oE "[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}"
Lösningen blir då ett skript som ser ut ungefär så här:

Kod: Markera allt

#!/bin/bash
for image in $(find $1 -iname '*png'); do
date=$(identify -verbose old.png | grep "date:create:" | grep -oE "[[:digit:]{4}-[[:digit:]]{2}-[[:digit:]]{2}")
convert -font helvetica -fill black -pointsize 25 -draw 'text 30,30 "Var är datumet?"' $image $image.new
done
Där $1 är sökvägen till katalogen där filerna ligger. Jag tror att det här skriptet kommer att fungera med lite finjusteringar bara.

Edit 2: Problemet är att datumet som du ser i Shotwell är väl inte datumet då du tog bilden utan datumet då filen skapades på hårddisken då du förde över bilden från kameran till datorn eller har jag fel? Om det är som jag misstänker så kommer säger ju datumet inte så mycket om när bilden togs. :|
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Lägga in datum på bilder

Inlägg av ubot »

Kod: Markera allt

#!/bin/bash
for image in $(find $1 -iname '*.jpg'); do
date=$(exiv2 $image | grep "Image timestamp" | grep -oE "[[:digit:]]{4}:[[:digit:]]{2}:[[:digit:]]{2}")
convert -font helvetica -fill black -pointsize 25 -draw 'text 30,30 "Datum: $date"' $image $image.new
done
Det här måste bytas ut mot något som fungerar med en variabel: -draw 'text 30,30 "Datum: $date"' Jag vet inte riktigt hur man löser det. Annars tror jag att skriptet fungerar helt ok. $image.new är ju inte en så snygg lösning heller.

Du kopierar och klistrar in koden här ovanför i en vanlig fil med Gedit eller någon annan texteditor. Döp filen till datumskript.sh eller något annat lämpligt. Därefter sätter du exekveringsrättigheter på skriptet. Du kör det med kommandot: ./datumskript.sh /path/to/image/files

Skriptet ska nu lägga till en datumtext på dina fotografier. Det är lite finlir att få texten att ligga rätt och det går säkert att styla texten så den ser lite snyggare ut än vanlig svart text med helvetica typsnitt.

Ta backup på bilderna innan du testkör skriptet så du inte sabbar dina fotografier!!! Tänk på att skriptet kommer att gå in i underkataloger också!
Användarvisningsbild
Lao Tzu
Inlägg: 1849
Blev medlem: 15 aug 2008, 17:47
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Sydost

Re: Lägga in datum på bilder

Inlägg av Lao Tzu »

Utanför ämnet: Flyttad från "Guider och tips".
"Hennes skithus är som min toalett." - Anna Anka

(&?)
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Re: Lägga in datum på bilder

Inlägg av rkl »

Tack för svaret. Detta verkar väl svårt för mig som inte kan programmera.

Tidigare har jag använt ett program jag fick med min Canon kamera, Zoom Browser, som är skrivet för Windows.

Genom att, i programmet, välja att "lägga in text" på bilden, fick jag upp ett alternativ att "lägga in datum när bilden togs". Datumtexten kan jag ändra som jag vill till storlek, typsnitt mm.

Jag har kvar skivan jag fick med kameran, men lyckas inte installera den i min dator med Linux OS. Har installerat Wine, men vet inte hur jag skall använda det. Kan jag utnyttja Wine för att kunna installera från skivan? Hur??

Har sökt i Synaptic, utan att hitta något. Har även sökt på nätet utan att hitta Zoom Browser för Linux.

Mycket tacksam för hjälp.
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Re: Lägga in datum på bilder

Inlägg av rkl »

Hej och tack för ditt svar.

Tyvärr är det ofta så att ni som svarar ofta förutsätter att den som ställer frågan kan programmera eller är mycket datakunnig. I mitt fall är jag begränsad till dels enbart normalbegåvning och dessutom lite allmänn datakunskap då jag använt datorer i flera år.

När det gäller Linux, som jag egentligen gillar skarpt, har jag lärt mig att klistra kommandon i Terminalen och dessutom förstått att all nedladdning helst skall ske via Synaptic.

För att visa vad jag menar klistrar jag in nedanstående citat från den länk du gav mig:

Citat:
1. Install ImageMagick

How to do it is up to you. Personally I installed the MacPorts first, then installed ImageMagick by running a simple command “sudo port install ImageMagick” in a terminal on a Mac running Leopard. You can certainly try the pre-compiled binaries if you’d like.
Slut citat:

Jag kan inte hitta varken MacPorts eller ImageMagick i Synaptic. När jag klickar vidare på MacPorts verkar det som instruktionen avser en Mac-installation. Kommandot för installation av ImageMagick verkar också avse en Mac-installation med Leopard (??).

För en person kunnig i Linux programmering är säkert denna instruktion helt tillräcklig, men inte för mig.

För att jag skall klara detta behöver jag en samling kommadon som jag direkt kan klistra in i Terminalen och sedan trycka på Enter.

Jag är mycket tacksam för att du engagerar dig och hoppas du kan hjälpa mig vidare.
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

1. ImageMagick hittar du i synaptic men du måste söka med små bokstäver.

2. Hämta fonterna. Är bara att trycka på download och spara dom på lämpligt ställe. Det handlar om tre olika fonter och jag valde att lägga dom på skrivbordet. Dubbelklicka på vardera av dom och välj installera.

3. Kopiera skriptet som bifogas och högerklicka på skrivbordet och välj "skapa ny fil" och välj sedan "tom fil". Döp filen till "dtstamp.sh".
Högerklicka sen på filen och välj "öppna med textredigerare" och klistra in skriptet som du kopierade. Spara sen filen.

4. Öppna terminalen och skriv

Kod: Markera allt

cd Skrivbord

Kod: Markera allt

chmod +x dtstamp.sh
(förutsätter att du la skriptet på skrivbordet)

Nu kommer det roliga när bilderna ska få datum. Skriptet är snällt och gör dubbletter av dina bilder istället för att skriva över dom.
Välj en mapp där bilderna ligger, exempelvis:

Kod: Markera allt

./dtstamp.sh ~/Bilder/Semesterbilder 2010/*.jpg
I mitt fall kommer alla bilder i mappen Semesterbilder 2010 att få en datum/tidsstämpel.
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

Jag hittade ett annat program som har ett grafiskt gränssnitt men det verkar betydligt svårare att förstå sig på. Försökte en del men gav upp:

http://photobatch.stani.be/
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Re: Lägga in datum på bilder

Inlägg av rkl »

Hej och tack,

Är scriptet du refererar till i din punkt 3, det som står i den grå rutan under punkt 3 i länken, alltså ganska mycket text??
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

rkl skrev:Hej och tack,

Är scriptet du refererar till i din punkt 3, det som står i den grå rutan under punkt 3 i länken, alltså ganska mycket text??
Ja, börjar med #!/bin/sh
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

Vill poängtera att det är jobbigt med skriptet till en början men sen går det snabbt att få datumet på hundratals bilder.
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Re: Lägga in datum på bilder

Inlägg av rkl »

Tack igen,

Det går inte att klistra in scriptet i katalogen på skrivbordet.
Följande står i en röd rad med ett rött tecken med vit horisontell rad, när jag försöker öppna med textredigerare.

/home/rl/Skrivbord/dtstamp.sh är en katalog.
Kontrollera att du angav platsen korrekt och försök igen.

Skall Linux vara så här besvärligt??
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

rkl skrev:Tack igen,

Det går inte att klistra in scriptet i katalogen på skrivbordet.
Följande står i en röd rad med ett rött tecken med vit horisontell rad, när jag försöker öppna med textredigerare.

/home/rl/Skrivbord/dtstamp.sh är en katalog.
Kontrollera att du angav platsen korrekt och försök igen.

Skall Linux vara så här besvärligt??
Du har antagligen skapat en mapp. Det är en textfil du ska skapa.
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
rkl
Inlägg: 494
Blev medlem: 07 aug 2007, 16:43

Re: Lägga in datum på bilder

Inlägg av rkl »

Tack igen för din enträgenhet.
Jag skapade en fil i hemmamappen Bilder1 och i den, en mapp Bilder2, för att pröva om jag fick sökvägen rätt.
Så här ser Terminalen ut nu:
rl@rl-desktop:~$ cd Skrivbord
rl@rl-desktop:~/Skrivbord$ chmod +x dtstamp.sh
rl@rl-desktop:~/Skrivbord$ ./dtstamp.sh ~/Bilder1/Bilder2/*.jpg./dtstamp.sh: 48: [[: not found
###### Working on file: /home/rl/Bilder1/Bilder2/*.jpg
identify: unable to open image `/home/rl/Bilder1/Bilder2/*.jpg': @ error/blob.c/OpenBlob/2498.
./dtstamp.sh: 48: arithmetic expression: expecting primary: "/30"
rl@rl-desktop:~/Skrivbord$

Kan de se vad jag gjort för fel; misstänker det har med sökvägen till bildfilen att göra.
Användarvisningsbild
ZX Spectrum
Inlägg: 4905
Blev medlem: 04 jan 2007, 22:58
OS: Ubuntu
Utgåva: Vet inte/ingen utgåva passar
Ort: Göteborg

Re: Lägga in datum på bilder

Inlägg av ZX Spectrum »

Har du kollat hur det ser ut i mappen med bilder?

Så här ser meddelandena ut för mig:

Kod: Markera allt

kristian@kristian-EP45-UD3R:~/Bilder$ ./dtstamp.sh temp/*.jpg
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 003.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 004.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 005.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 012.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 013.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 015.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 021.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 029.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 030.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
./dtstamp.sh: 48: [[: not found
######  Working on file: temp/Tingstad 50år aug09 032.jpg
        Width: 3872, Height: 2592. Using pointsize: 129
convert: unable to read font `/Users/max/Library/Fonts/digital-7 (mono).ttf' @ warning/annotate.c/RenderType/807.
Jag la mina bilder under Bilder-mappen i en mapp som heter temp och resultatet blir att jag får en uppsättning till med bilder:

Kod: Markera allt

Tingstad 50år aug09 003_DT.jpg
Tingstad 50år aug09 003.jpg
Tingstad 50år aug09 004_DT.jpg
Tingstad 50år aug09 004.jpg
Tingstad 50år aug09 005_DT.jpg
Tingstad 50år aug09 005.jpg
Tingstad 50år aug09 012_DT.jpg
Tingstad 50år aug09 012.jpg
Tingstad 50år aug09 013_DT.jpg
Tingstad 50år aug09 013.jpg
Tingstad 50år aug09 015_DT.jpg
Tingstad 50år aug09 015.jpg
Tingstad 50år aug09 021_DT.jpg
Tingstad 50år aug09 021.jpg
Tingstad 50år aug09 029_DT.jpg
Tingstad 50år aug09 029.jpg
Tingstad 50år aug09 030_DT.jpg
Tingstad 50år aug09 030.jpg
Tingstad 50år aug09 032_DT.jpg
Tingstad 50år aug09 032.jpg
Alla bilder som har DT i namnet har numera datumstämpel.
Bild
Jag vet vad jag vill, men vill inte det jag vet, men ändå vet jag ingenting och nu vet jag garanterat inte vad jag snackar om
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Lägga in datum på bilder

Inlägg av Konservburk »

[[: not found betyder att det står #!/bin/sh högst upp i skriptet, men att det egentligen borde stå #!/bin/bash istället. Eftersom bash och sh är samma sak på många system (dock ej på ubuntu) så märker inte den som skrivit skriptet dessa problem.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Lägga in datum på bilder

Inlägg av ubot »

Du kan nog glömma att använda ZoomBrowser i Ubuntu m.h.a. Wine: http://appdb.winehq.org/objectManager.p ... n&iId=6968
Det står att det fungerar skräp i Wine. Det är inte alla Windows-program som fungerar i Wine. Så skivan som du hade till kameran har du inte någon användning för i Linux.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Lägga in datum på bilder

Inlägg av ubot »

Vad tror ni om programmet Phatch då och funktionen Action Text och variablerna <year><month><day>?
http://photobatch.wikidot.com/action-text
http://photobatch.wikidot.com/variables
Jag menar om det går att lägga till variabeln <dpi> här: http://photobatch.wdfiles.com/local--fi ... nabled.png så går det kanske att lägga till variablerna <year> o.s.v. under Action Text?
Skriv svar

Återgå till "Bildhantering"