Kirjoitin osittain
uudestaan rgbinfo-ohjelmaani. Sen tarkoituksena on tuottaa keskiarvot
(kuvaa kohden) R, G, B ja BW
arvoista. Nyt ohjelmani toimii yli 10 kertaa nopeammin kuin viime
sunnuntaina koodaamani versio siitä. Kiitokseni annan
numpy-kirjaston tekijöille!
PS.
Ohjelmani tulee mahdollisesti supplemental-osioonvielä
julkaisemattomaan artikkeliin...
PPS. Pistän vähän jarrua käyttöohjeen tekemiseen, sillä eräs postdoc-tutkijatohtori on sitä mieltä, että kaikki aiheeseen liittyvät ohjelmani on lykättävä uuden artikkelin supplemental-osioon.
Gtlvideo-ohjelmassani oli pari bugia, jotka korjasin äsken. Asia liittyi rajaukseen, jonka ohjelmani laski väärällä kaavalla. Ohjelmani versio on nyt 0.912 (beta).
Tämä video on generoitu koodaamillani python-ohjelmilla ja
ffmpeg:llä. Alussa näytän kaikki värikanavat, sitten
mustavalkovideon ja lopuksi värikanavakohtaiset videot. Time-lapse
videon osat koostuvat 49 valokuvasta. Alkuperäiset kuvat olivat 18M
kokoisia RAW-kuvia, josta tein tämän FHD-videon.
Tämä on ensimmäinen time-lapse -video, jonka olen generoinut
koodamallani gtlvideo.py-ohjelmallani (versio 0.911). FHD-video on
demo. Video on tehty 49 CR2-kuvasta, jotka on ensin muutettu
PNG-muotoon ohjelmallani. Kuvaustiedot: Canon 7D + EF 24-105mm f/4L
Gtlvideo-demo
Generate
time-lapse video from images
Version
0.911 (beta) (C) ... 2019
Python
version: 3.5
Scanning
supported image files in current directory...
CR2
info:
Files:
0
Width:
0
Height:
0
PNG
info:
Files:
49
Width:
5202
Height:
3464
JPG
info:
Files:
0
Width:
0
Height:
0
Sample
file name: IMG_5010.png
Digits
before file extension: 4
Default
picture format: PNG
Select
project name (Default: video <Enter>): demo
Project
name: demo
Video
name : demo.mkv
Select
video mode (landscape=L, portrait=P, Default: Landscape <Enter>):
Landscape
video mode selected
Video
modes
0
Native 5202x3464 5202:3464
2
4K/DCI 4096x2160 256:135
3
4K/UHD 3840x2160 16:9
4
2K 2560x1440 16:9
5
Full HD 1920x1080 16:9
6
Pi/md4 1640x1232 4:3
7
Pi/md5 1640x922 16:9
8
HD 1280x720 16:9
9
SD 720x576 16:9
10
XGA 1024x768 4:3
11
VGA 640x480 4:3
12
GIF 320x200 4:3
13
Custom ?x? x:y
Select
video mode (Default mode is: 0 = 5202x3464 <Enter>): 5
Crop
& Resize or only Crop?
Select
Crop & Resize or only Crop (C&R=Y, C=N, Default: C&R
<Enter>):
C&R
mode selected
Crop
mode: vertical
Image
original size: 5202 x 3464
Image
size before scaling: 5202 x 2926
Video
size after scaling: 1920 x 1080
0
= Middle crop
1
= Top crop
2
= Bottom crop
3
= Custom crop start Y (0...537)
Select
crop mode (Default: 0)? 2
Standard
video frame rates: 24, 25, 30, 48, 50 and 60
Video
and log path:
/home/…/time-lapse/20190716-yllas-auringonlasku-png/video/
Video
name: demo.mkv
Log
name: demo.log
File
format digits: 4
First
frame: 4980
Last
frame: 5028
Calculated
number of frames: 49
Files:
49
FPS:
15
Duration:
3.2666666666666666 s
Constant
Rate Factor (CRF): 23
Stage
1: PNG->PNG
for
i in /home/.../time-lapse/20190716-yllas-auringonlasku-png/*.png ; do
ffmpeg -y -i "$i" -vf crop=5202:2926:0:2925,scale=1920:1080
/home/.../time-lapse/20190716-yllas-auringonlasku-png/png/"demo-$(basename
"$i" ".png")".png ; done
Olen saanut
gtlvideo.py (=Generate Time-Lapse Video) -ohjelmani beta-vaiheeseen, eli ohjelma osaa rajata ja
skaalata kuvat samaan kokoon kuin lopputuloksena olevan videon
resoluutio. Ohjelmani kysyy hirveästi kysymyksiä, ennen kuin
prosessointi aloitetaan. Sen jälkeen se generoi tarvittavat
skriptit, jolla homma tehdään. Tärkeimpäni työjuhtana on ffmpeg.
Nyt minun ei enää koskaan tarvitse tehdä videon generointia käsin
(kuvista → video)! :D
PS. Aikaa
ohjelmointiin meni vähän yli 1 kuukautta. Skriptini (=ohjelma) rivimäärä
on tällä hetkellä n. 1500. Asiaa ei ole helpottanut se, olen
oppinut itseopiskeluna (lähinnä Google) Pythonia vasta viime kesän
alusta lähtien.
PPS. Seuraavaksi
pitää tehdä ohjelmalleni käyttöohje englanniksi.
Tämä on surun päivä Suomelle. Olisiko tämä jo kolmas kerta kun kouluja vastaan iskettiin Suomessa? Eni vei, itse muistan sekä tunteen ja äänen Myyrmannin iskussa, jossa kuoli 7. Sivuseinien vuoksi en itse saanut fyysisiä vammoja, mutta kylläkin psyykkisiä. Mitä ihmisiä vaivaa? Noh, onneksi näitä idiootteja on todella vähän.
Muistan myös maanjäristyksen Costa Ricassa (kuolleita 8). Mutta se oli luonnollinen tapahtuma. Myyrmanni ei sitä ollut!
PS. Enemmän minua ahdistaa Myyrmannin tapaus kuin Costa Rican maanjäristys. Syyt löytyvät selityksestäni.