Man Yue Mo z GitHub Security Lab se podrobně rozepsal o již opravené zranitelnosti CVE-2023-6241 v Arm Mali GPU umožňující získání roota na telefonu Pixel 8 s povoleným MTE (Memory Tagging Extension).
V San José probíhá vývojářská konference NVIDIA GTC 2024. CEO společnosti NVIDIA Jensen Huang měl dvouhodinovou keynote, ve které představil celou řadu novinek: NVIDIA Blackwell platform, NVIDIA NIM microservices, NVIDIA Omniverse Cloud APIs, Project GR00T, …
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Od 21. do 23. března proběhnou Arduino Days 2024. Sledovat bude možné oficiální streamy. Zúčastnit se lze i lokálních akcí. V Česku jsou aktuálně registrovány dvě: v Praze na Matfyzu a v Poličce v městské knihovně.
Letošní ročník konference LinuxDays se uskuteční o víkendu 12. a 13. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během letošního ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru, Facebooku nebo na Mastodonu, přidat se můžete také do telegramové diskusní skupiny.
Byla vydána nová major verze 2.0.0 a krátce na to opravné verze 2.0.1 open source online editoru Etherpad (Wikipedie) umožňujícího společné úpravy v reálném čase.
Matematický software GNU Octave byl vydán ve verzi 9.1.0. Podrobnosti v poznámkách k vydání. Nově je preferovaný grafický backend Qt a preferovaná verze Qt 6. V tomto vydání byly přepracovány funkce pro převod čísel z desítkové soustavy. Jako obvykle jsou zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu březnový souhrn novinek. Vypíchnout lze, že pracují na virtuálním asistentu PineVox a zatím bezejmenných sluchátkách na lícní kosti (bone conduction).
Hyprland, kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, je již dva roky starý. Při té příležitosti byla vydána verze 0.37.0 (a záhy opravná 0.37.1 řešící chybu ve vykreslování oken). Nově závisí na knihovně hyprcursor, která poskytuje škálovatelné kurzory myši.
Když teď máme snímky, musí se nám nejdřív podařit nainstalovat program Registrator. Ten ke své instalaci potřebuje následující podmínky:
-O3 -fomit-frame-pointer -ffast-math
.djpeg
z knihovny libjpeg
. Test přítomnosti: djpeg --help
. Některé z aktuálně asi 800 existujících linuxových distribucí
odštěpují djpeg
z libjpeg
do balíčku s jiným názvem, např. na Ubuntu do libjpeg-progs
.libpng
včetně hlaviček (na některých distribucích separátní balík). Testováno s verzí 1.6, mělo by chodit i s jinými.
Jak se najde jméno balíčku s hlavičkami libpng
, mi přijde zmatečné. Často je v názvu dev
či devel
. Např. v Ubuntu, hledáme-li png ve jmému balíčku, získáme seznam jmen, co mi přijdou jako nesrozumitelné harampádí.
Např. ve jménech se vyskytují čísla 3, 12 a 16 přičemž libpng
nikdy žádnou verzi 3, 12 nebo 16 neměla, neboť poslední verze libpng
je 1.6.25. To je jeden z důvodů, proč nepoužívám distribuce, ale LFS.
Kolejiště curyšského hlavního nádraží, bez stativu, 1/30 s, 100 fotek, Lumix DMC-TZ1.
Obrázek: Karel Kulhavý via Wikimedia Commons (CC-BY-SA, GFDL)
make
pod normálním uživatelem a make install
pod rootem.Postup čisté odinstalace, nezávislý na distribuci Linuxu:
/usr/(local/)bin/registrator
/usr/(local/)bin/registrator-bin
/usr/(local/)bin/deconvolve
registrator_intermediate_*.png
registrator_pre_deconvolution.png
registrator_pre_prior.png
log.txt
Spustíme příkaz registrator
bez parametrů, musí vytisknout informativní resumé:
usage: registrator file1.jpg file2.jpg file3.ppm ... filen.jpg For input PPM files gamma of 0.454545 is assumed, also for shading mask. Outputs registrator_output.png, a 16-bit depth PNG. All input images must be the same size. ENVIRONMENT VARIABLE affecting registrator: OVERWRITE overwrites with new frame instead of adding it PIXELS initial pixel step DEGREES initial angle step ZOOM initial zoom step example 1.02=2% MAX_CYCLES max tries. 0=only add, without registration and exposure estimation and writing partial results NO_PARTIALS do not write partial results NO_DECONVOLUTION do not deconvolve (for stable camera) SHADING_MASK first frame will be considered shading mask.
Stejně spustíme deconvolve
, informační text vypadá takto:
Input PPM raw from stdin, output into registrator_deconvolved.png 16-bit 1) DECONVOLVE ------------- deconvolve strength strength >2. Using too close to 2 is not recommended, makes fringes. 2) SIMULATED PERCEPTION UNDER WHITE BALANCE -------------------------------------------- deconvolve light_r light_g light_b parameters define light RGB color, 0-255. Value 0 is recommended to avoid. Picture will be so adjusted that it looks like its viewed under the coloured light (with eye white balance adapted to the light), when its actually viewed under white light. Example - simulation of scene perceived in blue skylight 3) MANUAL HAZE REMOVAL MODE -------------------- deconvolve blk_r blk_g blk_b wht_r wht_g wht_b parameters define RGB values of white and black level, 0-255. 4) GLOBAL HAZE REMOVAL (BLACK AND WHITE POINT) ---------------------------------------------- deconvolve 2 Black and white poitns are found as global minimum and maximum, respectively. 5) LOCAL HAZE REMOVAL (BLACK AND WHITE POINT) --------------------------------------------- deconvolve -decay_pixels decay_pixels is decay constant of the locality of the maximum for finding black and white points. 6) LOCAL HAZE REMOVAL (BLACK AND WHITE POINT) WITH 2 LOCALITY CONSTANTS ----------------------------------------------------------------------- deconvolve -decay_pixels_0.75 -decay_pixels_0.25 Like 5) is done, but two times with different pixel decays, and mixed together, one has weight 0.25 and the other 0.75 COMPRESS=compress_exp - Luminance is powered to compress_exp. compress_exp=0 all output pixels will have the same luminance compress_exp=1 no operation
Máme tedy nafocené nějaké řady JPEG fotek podle doporučení v minulých dílech seriálu.
*.jpg
vztahovalo jen na tuto skupinu fotekregistrator *.jpg
apod.Registrator bude za běhu chrlit spoustu informačních hlášek o průběhu optimalizačního procesu napasovávání obrázků na sebe. Registrace každého dalšího obrázku trvá řádově minutu. Slovo FAILURE se běžně vyskytuje ve správně běžícím procesu optimalizace. Ukázka hlášek:
$ registrator *.jpg final offset step 0x666, angle step 0x34, zoom step 0x147 Input dimensions 2560 1920, loading frame 1 and applying gamma... Input dimensions 2560 1920, loading frame 2 and applying gamma... Writing 16-bit PNG registrator_intermediate_1.png... Initial offset step 16.000000 pixels, initial angle step 1.000000 degrees, initial zoom step *1.020000. Frame 2 cycle 1: FAILURE FAILURE FAILURE FAILURE vals 0x00000000 0x00000000 0x00000000 0x00000000 -> 0x882a3edf666d1de6 step 0x00080000 0x00080000 0x00005b05 0x000288e4 [ 0.00, 0.0000] pix. 0.0000 deg, 1.000000 times, metric 0x882a3edf666d1de6 Frame 2 cycle 2: SUCCESS SUCCESS SUCCESS FAILURE vals 0xfff80000 0xfff80000 0xffffa4fb 0x00000000 -> 0x881c883327465c19 step 0x000aaaaa 0x000aaaaa 0x0000795c 0x00014472 [ -8.00, -8.0000] pix. -0.5000 deg, 1.000000 times, metric 0x881c883327465c19 Frame 2 cycle 3: SUCCESS SUCCESS SUCCESS FAILURE vals 0xffed5556 0xffed5556 0xffff2b9f 0x00000000 -> 0x880bbd80bc5172c1 step 0x000e38e2 0x000e38e2 0x0000a1d0 0x0000a239 [ -18.67, -18.6667] pix. -1.1666 deg, 1.000000 times, metric 0x880bbd80bc5172c1 Frame 2 cycle 4: SUCCESS SUCCESS SUCCESS FAILURE vals 0xffdf1c74 0xffdf1c74 0xfffe89cf 0x00000000 -> 0x87f55969c1431c21 step 0x0012f682 0x0012f682 0x0000d7c0 0x0000511c [ -32.89, -32.8889] pix. -2.0555 deg, 1.000000 times, metric 0x87f55969c1431c21 Frame 2 cycle 5: FAILURE SUCCESS FAILURE FAILURE vals 0xffdf1c74 0xffcc25f2 0xfffe89cf 0x00000000 -> 0x87dcec1f75bd9569 step 0x00097b41 0x001948ad 0x00006be0 0x0000288e [ -32.89, -51.8518] pix. -2.0555 deg, 1.000000 times, metric 0x87dcec1f75bd9569 Frame 2 cycle 6: SUCCESS SUCCESS SUCCESS SUCCESS vals 0xffe897b5 0xffb2dd45 0xfffef5af 0xffffd772 -> 0x87c0e9f766fc7d95 step 0x000ca456 0x0021b63c 0x00008fd5 0x00003612 [ -23.41, -77.1357] pix. -1.4629 deg, 0.999381 times, metric 0x87c0e9f766fc7d95 Frame 2 cycle 7: SUCCESS SUCCESS FAILURE FAILURE
registrator_output.png
. Pozor, některé nekorektně naprogramované aplikace můžou mít problém 16bitové PNG zobrazit.Přichází poslední fenomén dnešní doby: dostupné digitální filtry v programech jako GIMP nebo Photoshop. Spousta lidí chce své fotky různě vylepšovat, ale manipulace často zvyšují viditelnost šumu, který se stává v obrázku výraznějším, rušivějším. Hodilo by se, kdybychom mohli mít fotografii s malým šumem i bez nutnosti s sebou tahat k fotoaparátu stativ. I na tento cíl míří Twibright Registrator.
16bitové je PNG proto, aby když už nám nízký šum umožní intenzivně používat matematické editační filtry, jejich použitím se nezviditelnilo schodování, které 8bitové zaokrouhlování způsobuje. Bez poblémů edituje s 16 bity např. konzolový nástroj G'MIC. Nahrajeme-li 16bitové PNG do GIMPu, ten ho sice přečte, ale nahraje ho jako 8bitové, čímž se hloubka dynamiky zkazí. Vývojový GIMP ale prý už umí 16bitovou editaci.
V příštím díle proberu něco o jevu nevyhnutelného šumu ve fotografiích.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Diskuse byla administrátory uzamčena
Snažil jsem se o přenositelnost, ale při jaké vzdálenosti od Linuxu Registrator selže, netuším. ... POSIX ...Hmm, to zní jako akademická výmluva. Na co Linux? Android? POSIX? Stačí používat standardní funkce Céčka a program Vám bude fungovat všude, kde je C compiler. Mě se to podařilo sestavit pomocí Visual Studio 2015 bez větších problémů. A to jsem napřed musel po všech čertech shánět libpng a zlib. Změny, které jsem musel udělat v registrator-bin.c: 1) #include <unistd.h> vypadá na nestandardní header, 2) M_PI není standardní #define, 3) použití konstanty (#define) Z_BEST_COMPRESSION, ale chybí #include na zlib.h. Vytvořily se mi deconvolve.exe a registrator-bin.exe (pro x86), oba spustit jdou, nespadnou, něco dělají, ale nejsem schopen zjistit, jestli to dělají dobře. Když tak pomůžu s přenositelností.