Skip to main content

Co je to řetězový kód?

V počítačové grafice a zpracování obrazu je řetězový kód algoritmem používaným k kódování obrysů objektu v černobílém nebo monochromatickém obrázku.Výsledná sekvence kódů může buď popsat, jak nakreslit obrys objektu vzhledem k obrazu, ve kterém je umístěn, nebo to může být sbírka pokynů vzhledem k umístění na obrysu, kde algoritmus začal, a v podstatě poskytnout kroky, které tyto kroky poskytují krokylze sledovat, aby se objekt překreslil.Tyto kódy mohou být normalizovány podle vzorce a poté ve srovnání s jiným kódem řetězce, aby se určilo, zda jsou dva objekty identické.Kód řetězce lze použít pro izolaci objektů v programu počítačového vidění nebo segmentaci obrazu ve zpracování obrázků, i když častěji lze použít v programech optického rozpoznávání znaků (OCR). Ačkoli existuje několik zavedených algoritmů pro řetězový kód.Základní koncept je v každém stejném.Za prvé, okraj objektu je umístěn, obvykle pohybem pixelu pixelem pomocí rastrového obrazu.Jakmile je umístěna, je zaznamenána poloha a jsou detekovány okolní hrany.V závislosti na tom, zda se detekční algoritmus posune ve směru hodinových ručiček nebo proti směru hodinových ručiček, se aktuální umístění pohybuje jedním nebo druhým směrem podél okraje, dokud se nevrátí do původní polohy..Toto číslo obecně označuje směr, který byl přesunut podél okraje objektu.Například, pokud algoritmus řetězce kódu sleduje rovnou hranu zprava doleva, pak pokaždé, když je hrana vysledována doleva, je numerický kód doleva přidán na konec kódu.Výsledným kódem je řetězec čísel, ve kterých, pokud je sekvence vysledována z libovolného výchozího bodu a pixelů umístěného v každém kroku, by se obrys objektu překreslil.

Jakmile bude řetězec čísel, která tvoří kódje dokončena, na něj lze použít několik různých algoritmů, aby se provedl porovnání s jinými sekvencemi řetězce kódu.Nejprve je číslo normalizováno otáčením počátečního čísla, dokud není stanovena nejnižší celočíselná hodnota.Tímto způsobem lze porovnat dva objekty, které mají stejný obrys, bez ohledu na to, kde na každém objektu začalo kódování.Patří mezi ně vektorové kódování, ve kterém je obrys objektu popsán sekvencí souřadnic, které jsou spojeny řádky, ačkoli tato metoda může být ztráta při použití na jemně podrobných obrysech.Verze algoritmu také existuje, která používá kódování délky běhu (RLE) k dalšímu komprimování kódů pro výjimečně velké nebo komplexní objekty, aby mohly být uloženy efektivnějším způsobem.