Open bezverec opened 2 months ago
Už roky používáme OpenJPEG - parametry konverze:
MC
opj_compress -i a.tif -o a_mc_opj.jp2 -p RPCL -t "4096,4096" -c "[256,256],[256,256],[128,128]" -SOP -EPH -TP R -M 1 -I -threads ALL_CPUS
UC
opj_compress -i a.tif -o a_uc_opj.jp2 -p RPCL -t "1024,1024" -c "[256,256],[256,256],[128,128]" -SOP -EPH -TP R -M 1 -r 20 -threads ALL_CPUS
Pro úplnost KDU parametry konverze:
MC
kdu_compress -i a.tif -o a_mc_kdu.jp2 "Cblk={64,64}" Corder=RPCL "Stiles={4096,4096}" "Cprecincts={256,256},{256,256},{128,128}" ORGtparts=R Clayers=1 Clevels=5 "Cmodes={BYPASS}" "Cuse_sop=yes" "Cuse_eph=yes" "Creversible=yes"
UC
kdu_compress -i a.tif -o a_uc_kdu.jp2 "Cblk={64,64}" Corder=RPCL "Stiles={1024,1024}" "Cprecincts={256,256},{256,256},{128,128}" ORGtparts=R -rate 1.2 Clayers=12 Clevels=5 "Cmodes={BYPASS}" "Cuse_sop=yes" "Cuse_eph=yes"
@filak super, díky moc! :) Určitě vyzkoušíme.
Když už se tohle řeší (děkuju), doplním ještě tedy nejvíce známé kodeky/knihovny/software.
Také doplním kontext. My neradi spoléháme na proprietární software, pokud to není třeba z důvodu kvality, jednoduchosti obsluhy, nebo podpory vyloženě nutné - a někdy to nutné je. Kdo zaznamenal novou licenční politiku Broadcomu po akvizici hypervizoru VMware, může (ale nemusí) mít další argument proč na proprietární software nespoléhat. Zdá se mi rozumné mít po ruce nějakou ověřenou zálohu s příjemnější licencí. A protože pro nás je sice snadné zařadit do linky jiný konvertor, není pro nás triviální mít jistotu, že vyprodukujeme NDK validní soubory. No a protože má Národní knihovna brainpower a know-how, chtěl jsem navrhnout, jestli by nezvážila ke Kakadu přidat do standardu (na web) i alternativu i se správnými parametry. V článku N. Ostráková koneckonců psala
Obrazy ve formátu JP2, které nyní Národní knihovna ČR archivuje, byly vytvořeny pomocí nástrojů Kakadu a OpenJPEG. Oba uvedené nástroje dokáží vytvořit soubory JP2 dle profilů NDK.
Přijde mi, že by to i ostatním institucím mohlo pomoct.
Malý průzkum. Zajímalo by mě, jestli někdo aktivně používá něco jiného na konverzi skenů do formátu JPEG2000. U nás je to taky Kakadu, tuším ve verzi 7.8., demoverze. CLI na Linuxu, konverzi a OCR Tesseract spouštíme před importem do ProArcu přes náš vlastní skript.
Je to téma, které bych případně rád otevřel na nadcházející schůzce ke standardům NDK, ale vlastně nevím, jestli to téma k otevření je. Mám za to, že Kakadu (v nějaké implementaci) je v knihovnách standard, ale je to jen moje domněnka.
My jinak na konverze mimo JPEG2000 rádi používáme ImageMagick, ale nemáme otestované, jestli by to bylo validní i podle NDK JPEG2000 profilů. Pokud ano, zvažovali bychom opuštění Kakadu. ChatGPT 3.5 mi příkazy z Kakadu do ImageMagick syntaxe převedlo takto. Nevím, jestli je to správně :)
Archivní kopie (Archival Copy)
convert example.tif -compress JPEG2000 -define jp2:tile-width=4096 -define jp2:tile-height=4096 -define jp2:rate=1 -define jp2:quality=100 -define jp2:numresolutions=5 -define jp2:cblkwidth=64 -define jp2:cblkheight=64 -define jp2:mode=real -define jp2:code-block-size=64x64 -define jp2:epc=t -define jp2:sop=t -define jp2:eph=t example.jp2
Zpřístupňující kopie (Production Master Copy) Kompresní poměr 1:8
convert example.tif -compress JPEG2000 -define jp2:tile-width=1024 -define jp2:tile-height=1024 -define jp2:rate=3 -define jp2:quality=100 -define jp2:numresolutions=5 -define jp2:cblkwidth=64 -define jp2:cblkheight=64 -define jp2:mode=real -define jp2:code-block-size=64x64 -define jp2:layers=12 -define jp2:mode=bypass example.jp2
Kompresní poměr 1:10
convert example.tif -compress JPEG2000 -define jp2:tile-width=1024 -define jp2:tile-height=1024 -define jp2:rate=2.4 -define jp2:quality=100 -define jp2:numresolutions=5 -define jp2:cblkwidth=64 -define jp2:cblkheight=64 -define jp2:mode=real -define jp2:code-block-size=64x64 -define jp2:layers=12 -define jp2:mode=bypass example.jp2
Kompresní poměr 1:20
convert example.tif -compress JPEG2000 -define jp2:tile-width=1024 -define jp2:tile-height=1024 -define jp2:rate=1.2 -define jp2:quality=100 -define jp2:numresolutions=5 -define jp2:cblkwidth=64 -define jp2:cblkheight=64 -define jp2:mode=real -define jp2:code-block-size=64x64 -define jp2:layers=12 -define jp2:mode=bypass example.jp2
Kompresní poměr 1:30
convert example.tif -compress JPEG2000 -define jp2:tile-width=1024 -define jp2:tile-height=1024 -define jp2:rate=0.8 -define jp2:quality=100 -define jp2:numresolutions=5 -define jp2:cblkwidth=64 -define jp2:cblkheight=64 -define jp2:mode=real -define jp2:code-block-size=64x64 -define jp2:layers=12 -define jp2:mode=bypass example.jp2
Připomínám i teď už starší článek: https://knihovnarevue.nkp.cz/archiv/2018-1/recenzovane-prispevky/jpeg-2000-jako-archivni-format-obrazovych-dat https://knihovnarevue.nkp.cz/archiv/dokumenty/2018-1/ostrakova.pdf