JanKoWeb: Počítače a IT - Tisk: příprava obrázku s textem aneb odstranění pozadí

Tisk: příprava obrázku s textem aneb odstranění pozadí

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.

Ukázkový obrázek s textem
Ukázkový obrázek s textem

Ručně: Irfan View a plugin Fine Threshold

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

Irfan View: výběr filtru
Irfan View: výběr filtru
Irfan View: výběr prahu (příliš vysoký)
Irfan View: výběr prahu (příliš vysoký)
Irfan View: výběr prahu (optimální)
Irfan View: výběr prahu (optimální)
Irfan View: výsledná segmentace pozadí
Irfan View: výsledná segmentace pozadí

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.

Dávkově: 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:

ImageMagick: výsledek segmentace pozadí
ImageMagick: výsledek segmentace pozadí

Hlavní výhoda - dávkové zpracování

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.

Rubrika Počítače a IT | Tagy Práh, Odstranění, Pozadí, Text, Tisk, Příprava | St 11.01.2012 | 5112x

Náhodné články

Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.

Aktuální věci publikuji kvůli úspoře času na Twitter.

Honza

"Čas je materiál, ze kterého se vyrábí život."

B. Franklin