"Nezbytným krokem k tomu, abyste od života získali věci, po kterých toužíte, je rozhodnout se, co vlastně chcete."
Pokud mám naskenovaný či vyfocený dokument, velmi nerad plácám tiskárnu na zbytečné pozadí. Proto jsem hledal jednoduchý nástroj, který by pozadí co nejefektivněji odstranil.
Chceme tedy odstranit pozadí a ponechat popředí (text). Vezměme si ukázkový obrázek a ukažme si na něm, jak se dá postupovat.
Fine Threshold - stažení - po stažení stačí nakopírovat do adresáře Plugins v adresáři Irfan View a poté zvolit v Irfan View Ctrl + K (Adobe Filtry 8BF) a Přidat 8BF filtr.
Odstranění pozadí prahováním je v Irfanu na čtyři kliknutí (což je fajn, když máte pár obrázků, ale dost nepříjemné, pokud jich máte třeba už 10 - práh se musí u každého vybírat ručně): Ctrl + K (otevře filtry Adobe) - Spustit vybraný filtr, posunout práh (šoupátkem) a OK
Všiměte si zejména tmavých okrajů, zde to není moc patrné, ale je to jev, který vznikne nerovnoměrných rozložením jasu při focení textu - a tento práh si s ním neporadí, takže pokud by byl jev výraznější, okraje budou po segmentaci černé. V takovém okamžiku je vhodnější použít ImageMagick.
ImageMagick je soubor nástrojů pro práci s obrázky v command line. Takovýto kód (pro neznalé - Práce s příkazovým řádkem ve Windows pro úplné začátečníky):
convert.exe input.jpg -colorspace Gray -lat 30x30-3% -median 1x1 output.jpg
který udělá adaptivní prahování (a poté projede ještě obrázek mediánem pro odstranění drobného šumu), má tento výsledek:
Asi jste si všimli, že výsledek se od toho z Irfan View v tomto případě moc neliší. Ale hlavní výhodu má v tom, že lze udělat dávkově, prakticky na jedno kliknutí. Jak na to? Vytvořte si v textovém souboru následující *.bat soubor, zkopírujte do adresáře ImageMagick spolu s jpg obrázky, které chcete upravit adaptivním prahováním a spusťte. Výstup se uloží do adresáře out, který se vytvoří ve složce ImageMagick:
:: Soubor: remove_background_from_text_image :: Popis: spusti ImageMagick v adresari, kde se nachazi tento skript a prozene vsechny jpg obrazky adaptivni filtraci pro odstraneni pozadi z textovych obrazku :: Author: JanKoWeb, 2011 :: pripravime vystupni adresar MD out :: smycka - vezmi vsechny jpg v adreari, preved na grayscale, aplikuj adaptivni prahovani (-lat) s velikosti okna 30x30 a offsetem -3%, aplikuj medianovy filtr pro vycisteni drobnych sumu a uloz do adresare out se stejnym nazvem jako vstupni soubor :: pozor! predpokladam, ze program convert.exe je v aktualni slozce! FOR %%a in (*.jpg) DO convert.exe %%a -colorspace Gray -lat 30x30-3%% -median 1x1 out\\%%a pause :: konec skriptu exit
Pokud se chcete dozvědět o dalších možnostech, čtěte ImageMagick v6 Examples Usage under Windows (anglicky) a Použití v command line - dokumentace (anglicky), heslo -lat.
Více v Thread: Adaptive Threshold.
.