Timeslice med ett dygn i en bild. Midnatt längst till vänster och höger.
Första bilden i serien till bilden ovan
2022´0-05-11, mörkt på nätterna.

Första steget är att ta en sekvens med bilder som har lite lustiga filnamn och se till att de är sekventiellt numrerade, det gör jag med https://www.bulkrenameutility.co.uk/

Sen kan bilden skäras sönder i smala remsor.
convert rensad_0002.JPG -crop 1x1704+2+0 rensad2_0002.jpg

Förklaring: Klipp bilden “rensad0002.JPG” till en väldigt smal remsa,  1×1704 pixlar med en offset av 2px, spara i rensad2_0002.JPG.

for i in `seq -w 0001 0100`; do echo $i; done
skriver ut med konstantbredd, 0001, 0002 osv…

Pixelradsfotoklippning “time slice photography”
for i in `seq -w 0001 3648`; do convert *$i.JPG -crop 1x1704+$i+0 utf_$i.JPG; done

En pixelrad från varje bild med olika offset i x-led sparas i ny fil, det tar mindre än en tiondels sekund per bild.
Klistra ihop till en ny bild genom convert +append utf*.JPG resultat.jpg
Med en bild som vill bli 3648px bred, ska det vara 23.68 sekunder mellan bilderna om ett helt dygn ska bli en bild.
“Nya” kameran med 4320px bredd ger precis 20 sekunder mellan varje bild,
24*3600/4320=20
Motsvarande kommando, tar infiler som heter bild0001.JPG osv. och genererar utf_0001.JPG osv.:
for i in `seq -w 0001 4320`; do convert bild*$i.JPG -crop 1x3240+$i+0 utf_$i.JPG; done

Skriv in tid och datum i bilden

Skriv in tid och datum på bilden, ta tiden från EXIF;

mogrify -pointsize 40 -gravity SouthEast -annotate +10+10 '%[EXIF:DateTime]' *.jpg

Motsvarande för windows, med Imagemagick installerat, skär alla bilder i katalogen till 4k-videoupplösning 3840x2160px med 10 resp 1px marginal, skriv in datum och tid i bildens nedre högra hörn:

mogrify -crop 3840x2160+10+1 -pointsize 120 -gravity SouthEast -annotate +10+10 "%[EXIF:DateTime]" *.JPG

Beskär alla bilder i en mapp

Skär en bild till ny storlek, skriv över orginalbilden.

mogrify -crop 3648x2052+0+410 *.JPG

Bilderna skrivs över.

Brännvidd för alla bilder i en mapp

ag använder programmet Jhead för att ta reda på bränviddsfördelningen för mina bilder. Genom att skriva kommandot med en eller flera bilder som argument visar informationen om bilden som finns lagrad i så kallad EXIF data, som exempel den första bilden i min åttonde bildmapp;

jhead /home/public/bilder/Foto08/P1010927_pajdeg.JPG

Ger svaret:
File name    : /home/public/bilder/Foto08/P1010927_pajdeg.JPG
File size    : 4292953 bytes
File date    : 2007:08:11 14:10:02
Camera make  : Panasonic
Camera model : DMC-LX2
Date/Time    : 2007:08:11 13:10:02
Resolution   : 4224 x 2376
Flash used   : No
Focal length :  6.3mm  (35mm equivalent: 28mm)
Exposure time: 0.100 s  (1/10)
Aperture     : f/2.8
ISO equiv.   : 100
Whitebalance : Auto
Metering Mode: matrix
Exposure     : program (auto)

Det står att jag använt en brännvidd som motsvarar 28mm. Kul att veta, men lite opraktiskt att gå igenom bild för bild, vad händer om vi kollar alla bilder?

jhead /home/public/bilder/Foto08/* | grep "equivalent"
Focal length :  6.3mm  (35mm equivalent: 28mm)
Focal length :  6.3mm  (35mm equivalent: 28mm)
Focal length :  6.3mm  (35mm equivalent: 28mm)
….

Bättre, men inte direkt importerbart i ett kalkylblad.
Om jag bara skriver ut det 7:e fältet;
jhead /home/public/bilder/Foto08/* | grep "equivalent" | awk {'print $7'}
28mm)
28mm)
28mm)

Lite skräp i slutet som ska klippas bort, spara bara numeriska tecken;
jhead /home/public/bilder/Foto08/* | grep "equivalent" | awk {'print $7'} |sed s/[^0-9]//g
28
28
28

Bättre!
Och så snabbt en lisning över vilka olika brännvidder som använts, bara visa varje värde en gång och sorterat i stigande ordning;
jhead /home/public/bilder/Foto08/* | grep "equivalent" | awk {'print $7'} |sed s/[^0-9]//g|sort -n|uniq
28
30
33
34
36
39
41
45
48
50
52
54
56
60
63
64
69
75
80
86
91
94
98
105
112
136

Detta går att importera till ett kalkylblad för att göra ett fint diagram av, men jag kan direkt konstatera att 457 av 672 bilder (70%) är tagna med kamerans maximala vidvinkel… Något att tänka på vid nästa kamera.

Brännviddsfördelning LX2

Skarva mp4 i windows

En hel hög med korta klipp från en YI home-kamera som ska slås ihop till ett långt, hur gör man i windows?
Samla alla klipp i samma mapp, namngivna i ordning. Skapa en lista i kommandotolken genom att skriva
(for %i in (*.mp4) do @echo file ‘%i’) > mylist.txt
listan med filer slås ihop med ffmpeg,
"h:ffmpeg-20190204-075fd5b-win64-static\bin\ffmpeg.exe" -f concat -safe 0 -i mylist.txt -c copy "Output21h.mp4"
Det ger ett nytt långt klipp med alla ingående smådelar, minutfilerna slås ihop i en lång film, som sen kan bearbetas vidare.