lauantai 12. lokakuuta 2019

Valeruokaa


Tässä on teille valeruokaa:

perjantai 11. lokakuuta 2019

Eikö teitä hävetä...

Eikö teitä hävetä "jotakin (ilmastomuutos jne.)"?

Vastaus: EI
 
PS. Terveisin setämies.

keskiviikko 9. lokakuuta 2019

rgbinfo.py-ohjelmani on nyt yli 10 kertaa nopeampi kuin aiemmin


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-osioon vielä 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.

tiistai 8. lokakuuta 2019

Pari bugia korjattu

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).

maanantai 7. lokakuuta 2019

16.7.2019 – Auringonlasku Ylläksellä



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.

lauantai 5. lokakuuta 2019

Ylläs – auringonlasku kesällä 2019 (gtlvideo.py-demo)


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
Select video FPS (1...60, Default=25 <Enter>): 15

Video information
Frames: 49
FPS: 15
Duration: 3.2666666666666666 s

Select 15 frames/s (Y/N, Default: Y <Enter>):
Default FPS selected

Constant Rate Factor: 0 (lossless) - 18 - 23 (default) - 28 - 51 (worst)
Select video CRF for x264 (0...51, Default=23 <Enter>):
Default CRF selected

---------------------

Summary of selections:

Project name: demo
Video name: demo.mkv

Video resolution is smaller than image size

Crop mode: crop and resize
Crop direction: vertical
Crop selection: Bottom crop
Crop coordinates: (0,2925)-(5201,3463)
Crop geometry error: -0.00 %

Image size: 5202x3464
Cropped image size: 5202x2926
Video size: 1920x1080

Picture geometry (h/w): 0.6658977316416763
Cropped image geometry (h/w): 0.5624759707804691
Video geometry (h/w): 0.5625

File format: PNG
File sample name: IMG_5010.png
Project name: demo-IMG_
First new file name: demo-IMG_4980.png
Working path: /home/…/time-lapse/20190716-yllas-auringonlasku-png
PNG path: /home/…/time-lapse/20190716-yllas-auringonlasku-png/png/
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

Stage 2: Create video
ffmpeg -y -r 15 -start_number 4980 -i /home/.../time-lapse/20190716-yllas-auringonlasku-png/png/demo-IMG_%04d.png -c:v libx264 -crf 23 /home/.../time-lapse/20190716-yllas-auringonlasku-png/video/demo.mkv


Are you sure you want to proceed (Y/N, Default=Y <Enter>)? Y

Time-lapse - versio 0.911 (beta)


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.

Valeruokaa

Tässä on teille valeruokaa: IS: Makaronilaatikko ilman lihaa ja kananmunaa ei kalpene alkuperäiselleversiolle