Autorské riešenie Riešenie tejto úlohy pozostáva z dvoch častí. Najprv ukryjeme čierno-biely obrázok zo Stránky1 do farebného obrázka zo Stránky2 a výsledok zobrazíme na Stránke3. Potom zrekonštruujeme ukrytý obrázok zo Stránky3 a zobrazíme ho na Stránke4. Začneme procedúrou skryObrazok, ktorá ukryje čierno-biely obrázok do farebného. Základom procedúry je prechod cez každý bod stránok Stránka1, Stránka2 a Stránka3. Na prvej stránke je text alebo obrázok, ktorý budeme ukrývať do obrázku na druhej stránke. Výsledný obrázok budeme kresliť na tretiu stránku. viem skryObrazok Najdôležitejšie je uvedomiť si fakt, že každý bod obrazovky (pixel) je možné vyjadriť pomocou trojice [r b g], pričom každá zložka má hodnotu od 0 po 255 (záleží to od toho, koľko červenej, modrej a zelenej daný pixel obsahuje). Navyše, malú zmenu zložiek RGB modelu človek nie je schopný vidieť. Informáciu o čierno-bielom obrázku si "zakódujeme" do prvej zložky modelu RGB farebného obrázku. Kedže ukrývame čierno-biely obrázok, stačí na jeho ukrytie jeden bit. Najpr zistíme, či r zložka farebného obrázka obsahuje párne alebo nepárne číslo. Ak je nepárne, odrátame jednotku, čím zmeníme posledný bit zložky r na 0. Do tohto bitu zakódujeme informáciu o čierno-bielom obrázku. Ak je príslušný pixel čierno-bieleho obrázka čierny, necháme 0, v opačnom prípade zmeníme posledný bit na 1. Výsledná procedúra by mohla vyzerať takto: viem skryObrazok Bez hlbšej analýzy uvedieme procedúru ukazObrazok, ktorá odkryje čierno-biely obrázok ukrytý vo farebnom obrázku. Pri odkrývaní môžeme použiť iba zakódovaný obrázok. Podstané je uvedomiť si, že párne číslo v zložke r zakódovaného obrázka znamená, že príslušný bod čierno-bieleho obrázka bol čieny, inak bol biely. Procedúra by mohla vyzerať takto: viem ukazObrazok Vaše zaujímavé riešenia a najčastejšie chyby Jednou z chýb bolo nedokreslenie okrajov obrázka. Niektoré tímy nesprávne pochopili zadanie a vykresľovali obrázok na stránku 4 pomocou stránok 2 a 3. Ďalšou chybou bolo, že pri výskyte bielej farby na stránke 2 by sa v niektorých riešeniach zapísalo do jednej zo zložiek číslo väčšie ako 255. |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk | ||||||||||