Portál AbcLinuxu, 10. května 2025 05:32

Dotaz: Analýza obrazu pro vytvoření úsporného PDFka

6.5.2015 09:07 JanM | skóre: 28
Analýza obrazu pro vytvoření úsporného PDFka
Přečteno: 700×
Odpovědět | Admin
Dobré dopoledne,

zaujala mne metoda scanneru Canon MF8450 (multifunkce), jak dosahuje malých souborů u naskenovaných kancelářských dokumentů - obraz prostě rozloží na části bitonální (CCITT) a plnobarevné (JPEG). V PDFku to naskládá přes sebe.

Výsledkem je čistý, dobře čitelný dokument.

Oproti tomu proklatě drahá skenovací stanice Kodak či ještě hůře kopírka Kodaku vždy vytvoří pouze jednu RGB bitmapu, takže chci-li alespoň trochu zmenšit soubor, tak nastupuje brutální JPEG komprese - čitelnost mizerná.
$ pdfimages -list Canon\ MF8450\ 300dpi.pdf   
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio 
-------------------------------------------------------------------------------------------- 
  1     0 image    1232  1728  rgb     3   8  jpeg   no         4  0   151   150 39.5K 0.6% 
  1     1 stencil  2352  2924  -       1   1  ccitt  no         5  0   300   300 37.6K 4.5% 
  1     2 stencil   648   236  -       1   1  ccitt  no         6  0   300   300 3300B  17% 
  1     3 stencil   320   136  -       1   1  ccitt  no         7  0   300   300  424B 7.8% 
$ pdfimages -list Kodak\ scanner\ 300dpi\ text-graphics\ good-quality\ no-ocr.pdf  
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio 
-------------------------------------------------------------------------------------------- 
  1     0 image    1232  1749  rgb     3   8  jpeg   yes       13  0   151   150  132K 2.1%
Neznáte někdo linuxový nástroj, který by dokázal analyzovat a rozložit dokument podobně jako ten Canon?
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.5.2015 09:18 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Před několika lety jsem totéž řešil pro účely scanování do DJVU. Napsal jsem si scheme skript pro Gimp, který postupoval přibližně tak, že vybral vše černé oddělil to do samostatné vrstvy, a tyto dvě vrstvy odděleně uložil do souborů. Potom následoval převod do DJVU vrstev a jejich složení do výsledné stránky. Ve výsledku vypadal dobře, text, obrázky byly oddělením černé složky mírně poškozeny, protože i jich se týkalo skládání vrstev.

CCITT Group 4 umí určitě ImageMagick pro TIFF formát, jestli to dokáže i pro PDF, to nevím, ale obyčejné PNG by taky stačilo. Na barvy by šel možná i JPEG-2000. Dvě složky v oddělených PDF souborech lze spojit třeba pomocí PDFTK, kde jedna poslouží jako pozadí a druhá jako popředí.

Skript pro Gimp (snad 2.2) ještě někde mám, ale vím, že v novějších verzích nefunguje.
6.5.2015 09:57 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Kdybyste jej našel, to byste mne potěšil.
15.5.2015 23:34 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Příloha:
Nakonec jsem to našel, a funguje to zcela bez úprav za předpokladu, že se doplní chybějící funkce strcspn. Aby byl výsledek rozumný, je třeba správně předvolit práh pro převod na černobílou složku. Pro zajímavost přikládám i skripty pro převod PNG na dvouvrstvé DJVU.

Skripty SCM je třeba nahrát do $HOME/.gimp-2.X/scripts. Oddělovač barevných vrstev lze použít nejenom dávkově, ale lze jej vyvolat i z nabídky Filters. Pracuje však jen se soubory na disku, ne s otevřenými obrázky.
4.6.2015 23:44 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Funguje. Najdu-li čas, zkusím si s tím pohrát.
6.5.2015 09:53 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
Ještě přikládám ukázku.
16.5.2015 09:47 Radovan Garabik
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neznáte někdo linuxový nástroj, který by dokázal analyzovat a rozložit dokument podobně jako ten Canon?
didjvu

len, pravda, je to na prevod do djvu...
4.6.2015 23:25 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Zajímavé. Pro vlastní použití je djvu v pohodě, ale pro sdílení přece jen PDF kraluje.

Zkoušel jsem separovat následný djvu produkt, pomocí djvuextract se mi podařilo získat monochromatickou masku (text + desaturovaná barevná grafika), pozadí (které zahodím) a popředí (které nese informaci o barvě).

Potíž s popředím je, že je ve formátu IW44, a nepřišel jsem na to, jak to rozumně zkombinovat s maskou a vytvořit samostatné bitmapy pro čistě černobílý text a barevnou grafiku, abych to poté mohl ve vrstvách složit do PDF.

Poslední krok by šel provést jako složení černobílého textu z masky a navrch barevné vrstvy pomocí pdftk (pdf + stamp). Asi by to nebylo tak dobré, jako to zvládá skener Canon, ale mohlo by stačit.
2.10.2015 22:32 JanM | skóre: 28
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Zatím jsem moc nepokročil (protože: není čas), raději skenuji na té správné mašině ;-)

Nicméně dnes mne zaujalo, že v LibreOffice (který jinak moc nepoužívám) lze pracovat s průhledností obrázků (tj. skládat je přes sebe) a jeho přímý export do PDF funguje obdobně jako výše popsaný skener Canon, tj. kombinuje JPEG, PNG a CCITT vč. masek pro průhlednost. To by byla vícevrstvá alternativa k pdftk.

export přes libreoffice.

Jen ještě dořešit potíž s kvalitním rozkladem obrazu.
16.5.2015 21:54 safs
Rozbalit Rozbalit vše Re: Analýza obrazu pro vytvoření úsporného PDFka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zajimavy trik.

Pri tomhle se pouziva vlastnost lidskeho oka, ktere vnima podstatne vetsi rozliseni v cernobile a mnohem hure v barvach. Proto maji cernobile tiskarny rozliseni 600dpi a vic (u 400 dpi je to opravdu videt), kdezto barevne snimky maji klidne 120dpi a nikdo si toho ani nevsimne.

Rada je asi jasna, rozlozit snimek na intensitu a barevne kanaly, barve zmensit rozliseni a zkopresovat. Nezvladnul by to ImageMagick?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.