SpaceExitPNG, GIF, JPG, BMP a mnoho dalsich, to jsou vsechno rastrove formaty, kde je ke kazdemu bodu prirazena barva, tedy hodnota. Barevna hloubka je rozpeti - pocet ruznych hodnot,ktere dany bod muze mit. Barevna hloubka obrazku X bitu znamena, ze kazdy bod muze nabyvat 2naX ruznych hodnot. X muze byt 1,4,8,16,24,32 i 48 ci jina hodnota.
BMP - to je surova tabulka hodnot nebo databaze, bez jake koliv komprese, neco jako textovy soubor. PNG, GIF, JPG pouzivaji ruzne kompresni algoritmy (napodobne jako zip, rar, 7z,bz2 paq pro obecnou kompresi dat). GIF, PNG, tam je komprese bezstratova, data pri kompresi nejsou nijak modifikovana. JPG se poiziva hlavne na fotky, komprese je to ztratova, dojde k modifikaci dat trochu, za co dostaneme lepsi kompresi. U fotek mirna ztrata dat nevadi narozdil od schemat. GIF a PNG umoznuji jeste pridat krome barev kanal pruhledosti, jak moc je kazdy pixel pruhledny a je videt pozadi za nim. Ted nevim, jestli si to pamatuji dobre, tak GIF ma pro kazdy pixel hodnotu pruhlednosti 0-1, tedy zcela pruhledy-nepruhledny. PNG by melo mit pro kazdy bod 8-bitovou pruhlednost, tedy neco jako 256 odstinu pruhledosti. Kazdopadne ted nevim, jestli si to pamatuji dobre. Kanal pruhlednosti (jedna se o Alfa kanal ? Ted nevim) muze-nemusi obrazek obsahovat.
Puvodni dotaz znel, jak velikost obrazku snizit na minimum, protoze budu pracovat s mnoho obrazky. Tedy kanal pruhlednoti by nemel obsahovat, barevna hloubka 8 bit (256 barev). Hlavni problem je snizovani barevne lhloubky s vyssi (16, 24 bit ci vic) na 8 bit, aby moc to nenarusilo kvalitu, ale velikost byla co nejmensi.
Dirhetaceruzne barvy promicha okolo, takze neni videt snizeni barevne hloubky tolik. Zase je tam vic rozdilu mezi okolnimi pixely, soubor je pak vetsi. Proto chci dirhetaci vypnout. Pri snizeni barevne hloubky na paletu s 256 barvami bez dirhetace je velikost souboru nejmensi, kvalita u daneho typu obrazku prakticky stejna. Dalsi veci je zpusob ulozeni PNG dle parametru. Je to bezstratova komprese. PNGCrunch podle vseho zkousi ruzne typy parametru a zvoli parametry, kde je nejmensi velikost souboru. Tedy pokud se nepletu. Mozna ze proces bezi jinak.
Pouzivam prakticky stejne-podobne typy dat, jako jsi dal odkaz. Co se tyce tech radarovych snimku od CHMI, tam jsou data jen par dni dozadu, pak uz odkaz nebude fungovat. Dany obrazek ma podle vseho pruhlednost v ruznych bodech, hlavne tam, kde neprsi a radarove odrazy nejsou, je pruhlednost maximalni. Pod timto obrazkem jsou dalsi, casto nemenne PNG, mapove podkady a pod. A dalsi vrstva je pruhledny obrazek s krizem, jez zaskrtne zvolenou pozici. Jinak PNG je samozrejme komprimovany datovy soubor v tomhle pripade. Komprese je lepsi vetsinou nez CSV + 7zip.
Jeden z typu map, u kterych je ta komprese dulezita, jak vyjit s co nejlepsi variantou, je prave radar Evropy:
http://pogodynka.pl/http/assets/products/radar_europa/T_PABH21_C_EUOC_20200306170000.pngData jsou tam par hodin dozadu jen tusim, odkaz moc dlouho fungovat nebude, pak se musi zmenit datum.
Vyhodou je v jednom PNG cela mapa a radarove odrazy.
A pokud je dat vic - komprese je problem. Puvodni obrazek s hloubkou 24 bit PNG ma v prumeru cca 630 kB. Klasika prez covert (tedy imagemagick), nejdriv convert na GIF, pak na PNG quality 95, hodi mi to v prumeru . Kdyz dam, tak jak navrhoval Petr bez mezistupne GIF a s vypnutim dirhetace, stale -quality 95, tak dostanu prumerne 770 kB, nechapu. Kdyz dam nejdriv na GIF s vypnutim dirhetace +dither -colors 256 a pak na PNG quality 95, tak dostanu velikost v prumeru 280 kB. S Xnview starym, ktery umel vypnout dirhetaci pri prevodu na GIF a pak na PNG s kompresi 9 jsem dostal v prumeru 180-190 kB a s novym XnView s konverzi na GIF, pak na PNG komprese 9 jsem dostal v prumeru 330 kB, nenasel jsem, jak vypnout dirhetaci.
U convert-image magick -quality u PNG neznamena kvalita, ale parametry ulozeni. Kvalitu to znamena u JPG.
Dalsi typ obrazku, u ktereho jsem to ladil, je tady:
https://meteomodel.pl/AKT/IMG/temp99.pngPuvodni velikost prez 800 kB (muj vzor 811 kB). Prevod na GIF a pak na PNG (pri prevodu na PNG vzdy parametr -quality 95) 251 kB a pak jak mi poradil Petr s vypnutim dirhetace +dither -colors 256 vyjde vysledne PNG 227 kB. Kdyz nedam parametr -quality 95, je vysledny soubor 231 kB.