Autor Zpráva
habendorf
Profil
Tak tohle je dost mimo webdesign, ale zkusím to:
Napadá někoho jak detekovat čisté stránky při scanování? O co jde:

Automatický scanner nascanuje třeba 500 listů najednou, mezi nimi mohou být prázdné listy. Požadavkem je, aby se následně ukládaly jen stránky, které nejsou prázdné. Samozřejmě tam musí být nějaká volitelná mez citlivosti, protože nascanovaná stránka nikdy nebude úplně prázdná - špína na skle apod.

Zatím nás napadlo jen hledat ostrý barevný přechod, ale to není nic moc. To řešení nebude nikdy na 100%, ale jak se k tomu co nejvíc přiblížit? Třeba by věděl někdo, kdo se dobře vyzná v grafických formátech.

To máme radosti, co? Podotýkám, že skutečně nejde o apríla :o)
habendorf
Profil
Jo ještě jsem zapomněl na jeden špek, a to sice že scanování je ovládaný z browseru z appletu přes TWAIN. Ou ou ...

Jde mi jen o obecné nakopnutí správným směrem, na základě čeho to vyhodnocovat, kudy vůbec do toho.
habendorf
Profil
Sorry že to oživuju, ale já bych to fakt dost potřeboval ...
Sam
Profil *
Zkusit procento pokrytí jinou než bílou, tedy za předpokladu že prázdná stránka je bílá nebo lehce ušmudlaná. No a do určitého procenta stránky nebrat.
Samozřejmě praktická realizace záleží na formátu ze scanneru. U .BMP by to bylo nejjednodušší, u nějakých komprimovaných by to teoreticky mohlo jít rovnou zjistit z velikosti souboru.
Samozřejmě to chce doladit v praxi.
habendorf
Profil
Díky za snahu, aspoň někdo.
Formát ze scaneru bude pravděpodobně tif. Podle velikosti souboru byla samozřejmě hned první myšlenka, ale stejně rychle jsme ji zase zavrhli. Bohužel papír s pěti slovy vyjde datově na čistém scaneru kildně menší, než čistý papír na ušmudlaném scaneru.
Fred
Profil
habendorf Pokud se jedná o texty. Tak tady http://www.docscanpro.com/docscan/docrelease.htm něco píšou o detekci v OCR "flagging an empty zone" , je to trial takže asi vyzkoušet, není mi totiž úplně jasné co tím myslí?
Lemur
Profil *
Možná je to mimo mísu, ale něco podobného jsem udělal pro detekci začátku náhrávání. Spočívá v tom, že udělám histogram obrázku, a pokud tam je jediné lokální maximum (u mně černá, u papíru bílá), které je shodné s globálním maximem, tak je obrázek prázdný. Pokud jsou na stránce i tak nějaké údaje (hlavička, patička, číslo stránky), musí se vymaskovat. Lokální maxima se nejlépe hledají pomocí změny znaménka první derivace, ale chce to přefiltrovat kvůli šumu.
Algoritmu pak záleží na jazyku. Doporučuji něco kompilovaného - jednou jsem dělal image resampling v PHP pro server, kde nebyla GD 2.0 (1.6 umí jen resize), a rozdíl v rychlosti mezi kompilovaným C a interpretovaným PHP by dva řády při stejném algoritmu.
habendorf
Profil
Fred: Hmm, asi to bude skutečně označovat prázdná místa, díky. Ale potřeboval bych spíš nějakou free knihovnu, je to požadavek zákazníka na funkcionalitu v našem softu. Ale dík za snahu.


Lemur: Vůbec nejsi mimo mísu, naopak, píšeš to velmi dobře. Jestli to dobře chápu, v podstatě je to přibližně stejný princip jako jsem psal nahoře - nás napadlo jen hledat ostrý barevný přechod - myslel jsem něco jako hledat ostrý gradient bílá->černá. Ale s tím histogramem to považuju za velice dobrý nápad, uvidíme jestli se to použije, dám sem ještě vědět. Rozhodně ale mockrát díky!
Toto téma je uzamčeno. Odpověď nelze zaslat.

0