Kvadrantový kód
Kvadrantová komprese je jeden ze způsobů kódování černobílých obrázků. V plné obecnosti funguje následovně: Na vstupu dostane černobílý obrázek velikosti \(2^k\times 2^k\) a na výstup vypíše textový řetězec: jeho kvadrantový kód. Je-li obrázek celý černý resp. celý bílý, je výstupem 0
resp. 1
. Jinak si obrázek rozdělíme na stejně velké čtvrtiny (kvadranty), ty zakódujeme zvlášť, a za výstup prohlásíme ([LH][PH][LD][PD])
, kde [LH]
je kód levého horního kvadrantu, [PH]
kód pravého horního kvadrantu atd. Tedy obrázek \(4\times 4\), jehož jediné černé políčko je druhé políčko v prvním řádku, zakódujeme jako ((1011)111)
, obrázek \(4\times 4\), jehož všechna políčka jsou černá, zakódujeme jako 0
.
Vaším úkolem je vymyslet co nejefektivnější algoritmus, který načte obrázek a vypíše jeho kvadrantový kód.